diff --git a/ChangeLog b/ChangeLog
index 6aa0815b2..d42799f99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-02-06  Duncan Mak  <duncan@ximian.com>
+
+	* api/gtk-api.xml:
+	* sources/Gtk.metadata: 
+	* gtk/Window.custom: Mark out params in gtk_window_get_size and gtk_window_get_default_size.
+
 2003-02-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
 	* glib/SignalCallback.cs: new methods AddDelegate and RemoveDelegate.
@@ -15,6 +21,12 @@
 
 2003-01-29  Duncan Mak  <duncan@ximian.com>
 
+	* gtk/Widget.custom: Add a nice overload, rename it to
+	'RequestSize' instead of 'SizeRequest' to avoid a name clash.
+
+	* api/gtk-api.xml: 
+	* sources/Gtk.metadata: out param for gtk_widget_get_size_request.
+
 	* gtk/Window.custom: Add some overloads.
 
 	* api/gtk-api.xml:
diff --git a/api/gtk-api.xml b/api/gtk-api.xml
index 057bcefd5..41bf55e5e 100644
--- a/api/gtk-api.xml
+++ b/api/gtk-api.xml
@@ -10012,8 +10012,8 @@
       <method name="GetDefaultSize" cname="gtk_window_get_default_size">
         <return-type type="void"/>
         <parameters>
-          <parameter type="gint*" name="width"/>
-          <parameter type="gint*" name="height"/>
+          <parameter type="gint*" name="width" pass_as="out"/>
+          <parameter type="gint*" name="height" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetDestroyWithParent" cname="gtk_window_get_destroy_with_parent">
@@ -10065,8 +10065,8 @@
       <method name="GetSize" cname="gtk_window_get_size">
         <return-type type="void"/>
         <parameters>
-          <parameter type="gint*" name="width"/>
-          <parameter type="gint*" name="height"/>
+          <parameter type="gint*" name="width" pass_as="out"/>
+          <parameter type="gint*" name="height" pass_as="out"/>
         </parameters>
       </method>
       <method name="GetTitle" cname="gtk_window_get_title">
diff --git a/gtk/Window.custom b/gtk/Window.custom
index 77ab6712c..f3e93ca76 100755
--- a/gtk/Window.custom
+++ b/gtk/Window.custom
@@ -49,3 +49,13 @@
 						x, y);
 			}
 		}
+
+		public System.Drawing.Size Size {
+			get {
+				int x, y;
+				GetSize (out x, out y);
+				
+				return new System.Drawing.Size (
+						x, y);
+			}
+		}
diff --git a/sources/Gtk.metadata b/sources/Gtk.metadata
index ee229879e..3b78da9af 100644
--- a/sources/Gtk.metadata
+++ b/sources/Gtk.metadata
@@ -1019,7 +1019,20 @@
     </attribute>
   </data>
 </rule>
-z<rule>
+<rule>
+  <class name="GtkWindow">
+    <method>GetSize</method>
+    <method>GetDefaultSize</method>
+  </class>
+  <data>
+    <attribute target="param">
+      <filter level="type">gint*</filter>
+      <name>pass_as</name>
+      <value>out</value>
+    </attribute>
+  </data>
+</rule>
+<rule>
   <class name="GtkAdjustment">
     <method>Changed</method>
   </class>