--- GLib-2.0.gir.orig	2011-08-30 16:26:53.000713880 +0200
+++ GLib-2.0.gir	2011-08-30 16:59:46.118767000 +0200
@@ -2446,7 +2446,7 @@
           <doc xml:whitespace="preserve">Status information about the child process, see waitpid(2) for more information about this field</doc>
           <type name="gint" c:type="gint"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data" transfer-ownership="none" closure="2">
           <doc xml:whitespace="preserve">user data passed to g_child_watch_add()</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -4227,15 +4227,15 @@
 within a complete week (Monday to Sunday) is contained within the
 same week-numbering year.
 
-For Monday, Tuesday and Wednesday occuring near the end of the year,
+For Monday, Tuesday and Wednesday occurring near the end of the year,
 this may mean that the week-numbering year is one greater than the
 calendar year (so that these days have the same week-numbering year
-as the Thursday occuring early in the next year).
+as the Thursday occurring early in the next year).
 
-For Friday, Saturaday and Sunday occuring near the start of the year,
+For Friday, Saturaday and Sunday occurring near the start of the year,
 this may mean that the week-numbering year is one less than the
 calendar year (so that these days have the same week-numbering year
-as the Thursday occuring late in the previous year).
+as the Thursday occurring late in the previous year).
 
 An equivalent description is that the week-numbering year is equal to
 the calendar year containing the majority of the days in the current
@@ -4261,7 +4261,7 @@
 that has more than 4 of its days falling within the calendar year.
 
 The value 0 is never returned by this function.  Days contained
-within a year but occuring before the first ISO 8601 week of that
+within a year but occurring before the first ISO 8601 week of that
 year are considered as being contained in the last week of the
 previous year.  Similarly, the final days of a calendar year may be
 considered as being part of the first ISO 8601 week of the next year
@@ -4328,8 +4328,7 @@
       </method>
       <method name="source_new"
               c:identifier="g_date_time_source_new"
-              version="2.30"
-              introspectable="0">
+              version="2.30">
         <doc xml:whitespace="preserve">This function is designed for programs that want to schedule an
 event based on real (wall clock) time, as returned by
 g_get_real_time().  For example, HOUR:MINUTE wall-clock displays
@@ -4359,7 +4358,7 @@
 #GFileMonitor.&lt;/para&gt;&lt;/note&gt;
 
 &lt;example id="gdatetime-example-watch"&gt;&lt;title&gt;Clock example&lt;/title&gt;&lt;programlisting&gt;&lt;xi:include xmlns:xi="http://www.w3.org/2001/XInclude" parse="text" href="../../../../glib/tests/glib-clock.c"&gt;&lt;xi:fallback&gt;FIXME: MISSING XINCLUDE CONTENT&lt;/xi:fallback&gt;&lt;/xi:include&gt;&lt;/programlisting&gt;&lt;/example&gt;</doc>
-        <return-value>
+        <return-value transfer-ownership="full">
           <doc xml:whitespace="preserve">A newly-constructed #GSource</doc>
           <type name="Source" c:type="GSource*"/>
         </return-value>
@@ -7271,9 +7270,9 @@
           </parameters>
         </callback>
       </field>
-      <field name="io_create_watch" introspectable="0">
-        <callback name="io_create_watch" introspectable="0">
-          <return-value>
+      <field name="io_create_watch">
+        <callback name="io_create_watch">
+          <return-value transfer-ownership="full">
             <type name="Source" c:type="GSource*"/>
           </return-value>
           <parameters>
@@ -9439,9 +9438,20 @@
     <constant name="MUTEX_DEBUG_MAGIC" value="4175530711">
       <type name="gint" c:type="gint"/>
     </constant>
-    <record name="MainContext" c:type="GMainContext" disguised="1">
+    <record name="MainContext"
+            c:type="GMainContext"
+            glib:type-name="GMainContext"
+            glib:get-type="g_main_context_get_type"
+            c:symbol-prefix="main_context">
       <doc xml:whitespace="preserve">The &lt;structname&gt;GMainContext&lt;/structname&gt; struct is an opaque data
 type representing a set of sources to be handled in a main loop.</doc>
+      <constructor name="new" c:identifier="g_main_context_new">
+        <doc xml:whitespace="preserve">Creates a new #GMainContext structure.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:whitespace="preserve">the new #GMainContext</doc>
+          <type name="MainContext" c:type="GMainContext*"/>
+        </return-value>
+      </constructor>
       <method name="acquire" c:identifier="g_main_context_acquire">
         <doc xml:whitespace="preserve">Tries to become the owner of the specified context.
 If some other thread is the owner of the context,
@@ -9462,7 +9472,7 @@
       </method>
       <method name="add_poll" c:identifier="g_main_context_add_poll">
         <doc xml:whitespace="preserve">Adds a file descriptor to the set of file descriptors polled for
-this context. This will very seldomly be used directly. Instead
+this context. This will very seldom be used directly. Instead
 a typical event source will use g_source_add_poll() instead.</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -9491,7 +9501,9 @@
           </parameter>
           <parameter name="fds" transfer-ownership="none">
             <doc xml:whitespace="preserve">array of #GPollFD's that was passed to the last call to g_main_context_query()</doc>
-            <type name="PollFD" c:type="GPollFD*"/>
+            <array length="2" zero-terminated="0" c:type="GPollFD*">
+              <type name="PollFD" c:type="GPollFD"/>
+            </array>
           </parameter>
           <parameter name="n_fds" transfer-ownership="none">
             <doc xml:whitespace="preserve">return value of g_main_context_query()</doc>
@@ -9506,12 +9518,11 @@
         </return-value>
       </method>
       <method name="find_source_by_funcs_user_data"
-              c:identifier="g_main_context_find_source_by_funcs_user_data"
-              introspectable="0">
+              c:identifier="g_main_context_find_source_by_funcs_user_data">
         <doc xml:whitespace="preserve">Finds a source with the given source functions and user data.  If
 multiple sources exist with the same source function and user data,
 the first one found will be returned.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the source, if one was found, otherwise %NULL</doc>
           <type name="Source" c:type="GSource*"/>
         </return-value>
@@ -9527,10 +9538,9 @@
         </parameters>
       </method>
       <method name="find_source_by_id"
-              c:identifier="g_main_context_find_source_by_id"
-              introspectable="0">
+              c:identifier="g_main_context_find_source_by_id">
         <doc xml:whitespace="preserve">Finds a #GSource given a pair of context and ID.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the #GSource if found, otherwise, %NULL</doc>
           <type name="Source" c:type="GSource*"/>
         </return-value>
@@ -9542,12 +9552,11 @@
         </parameters>
       </method>
       <method name="find_source_by_user_data"
-              c:identifier="g_main_context_find_source_by_user_data"
-              introspectable="0">
+              c:identifier="g_main_context_find_source_by_user_data">
         <doc xml:whitespace="preserve">Finds a source with the given user data for the callback.  If
 multiple sources exist with the same user data, the first
 one found will be returned.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the source, if one was found, otherwise %NULL</doc>
           <type name="Source" c:type="GSource*"/>
         </return-value>
@@ -9761,23 +9770,34 @@
             <doc xml:whitespace="preserve">maximum priority source to check</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
-          <parameter name="timeout_" transfer-ownership="none">
+          <parameter name="timeout_"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
             <doc xml:whitespace="preserve">location to store timeout to be used in polling</doc>
             <type name="gint" c:type="gint*"/>
           </parameter>
-          <parameter name="fds" transfer-ownership="none">
+          <parameter name="fds"
+                     direction="out"
+                     caller-allocates="1"
+                     transfer-ownership="none">
             <doc xml:whitespace="preserve">location to store #GPollFD records that need to be polled.</doc>
-            <type name="PollFD" c:type="GPollFD*"/>
+            <array length="3" zero-terminated="0" c:type="GPollFD*">
+              <type name="PollFD" c:type="GPollFD"/>
+            </array>
           </parameter>
-          <parameter name="n_fds" transfer-ownership="none">
+          <parameter name="n_fds"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
             <doc xml:whitespace="preserve">length of @fds.</doc>
             <type name="gint" c:type="gint"/>
           </parameter>
         </parameters>
       </method>
-      <method name="ref" c:identifier="g_main_context_ref" introspectable="0">
+      <method name="ref" c:identifier="g_main_context_ref">
         <doc xml:whitespace="preserve">Increases the reference count on a #GMainContext object by one.</doc>
-        <return-value>
+        <return-value transfer-ownership="full">
           <doc xml:whitespace="preserve">the @context that was passed in (since 2.6)</doc>
           <type name="MainContext" c:type="GMainContext*"/>
         </return-value>
@@ -9861,22 +9881,19 @@
           <type name="none" c:type="void"/>
         </return-value>
       </method>
-      <function name="default"
-                c:identifier="g_main_context_default"
-                introspectable="0">
+      <function name="default" c:identifier="g_main_context_default">
         <doc xml:whitespace="preserve">Returns the global default main context. This is the main context
 used for main loop functions when a main loop is not explicitly
 specified, and corresponds to the "main" main loop. See also
 g_main_context_get_thread_default().</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the global default main context.</doc>
           <type name="MainContext" c:type="GMainContext*"/>
         </return-value>
       </function>
       <function name="get_thread_default"
                 c:identifier="g_main_context_get_thread_default"
-                version="2.22"
-                introspectable="0">
+                version="2.22">
         <doc xml:whitespace="preserve">Gets the thread-default #GMainContext for this thread. Asynchronous
 operations that want to be able to be run in contexts other than
 the default one should call this method to get a #GMainContext to
@@ -9885,30 +9902,40 @@
 non-default context, so it is not safe to assume that this will
 always return %NULL if threads are not initialized.)
 
-thread-default context is the global default context.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">the thread-default #GMainContext, or %NULL if the</doc>
-          <type name="MainContext" c:type="GMainContext*"/>
-        </return-value>
-      </function>
-      <function name="new"
-                c:identifier="g_main_context_new"
-                introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GMainContext structure.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">the new #GMainContext</doc>
+%NULL if the thread-default context is the global default context.</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:whitespace="preserve">the thread-default #GMainContext, or</doc>
           <type name="MainContext" c:type="GMainContext*"/>
         </return-value>
       </function>
     </record>
-    <record name="MainLoop" c:type="GMainLoop" disguised="1">
+    <record name="MainLoop"
+            c:type="GMainLoop"
+            glib:type-name="GMainLoop"
+            glib:get-type="g_main_loop_get_type"
+            c:symbol-prefix="main_loop">
       <doc xml:whitespace="preserve">The &lt;structname&gt;GMainLoop&lt;/structname&gt; struct is an opaque data type
 representing the main event loop of a GLib or GTK+ application.</doc>
-      <method name="get_context"
-              c:identifier="g_main_loop_get_context"
-              introspectable="0">
+      <constructor name="new" c:identifier="g_main_loop_new">
+        <doc xml:whitespace="preserve">Creates a new #GMainLoop structure.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:whitespace="preserve">a new #GMainLoop.</doc>
+          <type name="MainLoop" c:type="GMainLoop*"/>
+        </return-value>
+        <parameters>
+          <parameter name="context" transfer-ownership="none" allow-none="1">
+            <doc xml:whitespace="preserve">a #GMainContext  (if %NULL, the default context will be used).</doc>
+            <type name="MainContext" c:type="GMainContext*"/>
+          </parameter>
+          <parameter name="is_running" transfer-ownership="none">
+            <doc xml:whitespace="preserve">set to %TRUE to indicate that the loop is running. This is not very important since calling g_main_loop_run() will set this to %TRUE anyway.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="get_context" c:identifier="g_main_loop_get_context">
         <doc xml:whitespace="preserve">Returns the #GMainContext of @loop.</doc>
-        <return-value>
+        <return-value transfer-ownership="none">
           <doc xml:whitespace="preserve">the #GMainContext of @loop</doc>
           <type name="MainContext" c:type="GMainContext*"/>
         </return-value>
@@ -9930,9 +9957,9 @@
           <type name="none" c:type="void"/>
         </return-value>
       </method>
-      <method name="ref" c:identifier="g_main_loop_ref" introspectable="0">
+      <method name="ref" c:identifier="g_main_loop_ref">
         <doc xml:whitespace="preserve">Increases the reference count on a #GMainLoop object by one.</doc>
-        <return-value>
+        <return-value transfer-ownership="full">
           <doc xml:whitespace="preserve">@loop</doc>
           <type name="MainLoop" c:type="GMainLoop*"/>
         </return-value>
@@ -9953,23 +9980,6 @@
           <type name="none" c:type="void"/>
         </return-value>
       </method>
-      <function name="new" c:identifier="g_main_loop_new" introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GMainLoop structure.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">a new #GMainLoop.</doc>
-          <type name="MainLoop" c:type="GMainLoop*"/>
-        </return-value>
-        <parameters>
-          <parameter name="context" transfer-ownership="none" allow-none="1">
-            <doc xml:whitespace="preserve">a #GMainContext  (if %NULL, the default context will be used).</doc>
-            <type name="MainContext" c:type="GMainContext*"/>
-          </parameter>
-          <parameter name="is_running" transfer-ownership="none">
-            <doc xml:whitespace="preserve">set to %TRUE to indicate that the loop is running. This is not very important since calling g_main_loop_run() will set this to %TRUE anyway.</doc>
-            <type name="gboolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </function>
     </record>
     <record name="MappedFile" c:type="GMappedFile" disguised="1">
       <method name="free" c:identifier="g_mapped_file_free" version="2.8">
@@ -14020,7 +14030,7 @@
               version="2.14"
               throws="1">
         <doc xml:whitespace="preserve">Using the standard algorithm for regular expression matching only
-the longest match in the string is retrieved, it is not possibile
+the longest match in the string is retrieved, it is not possible
 to obtain all the available matches. For instance matching
 "&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;" against the pattern "&amp;lt;.*&amp;gt;"
 you get "&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;".
@@ -17036,7 +17046,11 @@
               value="6"
               c:identifier="G_SLICE_CONFIG_CONTENTION_COUNTER"/>
     </enumeration>
-    <record name="Source" c:type="GSource">
+    <record name="Source"
+            c:type="GSource"
+            glib:type-name="GSource"
+            glib:get-type="g_source_get_type"
+            c:symbol-prefix="source">
       <doc xml:whitespace="preserve">The &lt;structname&gt;GSource&lt;/structname&gt; struct is an opaque data type
 representing an event source.</doc>
       <field name="callback_data" readable="0" private="1">
@@ -17080,6 +17094,30 @@
       <field name="priv" readable="0" private="1">
         <type name="SourcePrivate" c:type="GSourcePrivate*"/>
       </field>
+      <constructor name="new" c:identifier="g_source_new">
+        <doc xml:whitespace="preserve">Creates a new #GSource structure. The size is specified to
+allow creating structures derived from #GSource that contain
+additional data. The size passed in must be at least
+&lt;literal&gt;sizeof (GSource)&lt;/literal&gt;.
+
+The source will not initially be associated with any #GMainContext
+and must be added to one with g_source_attach() before it will be
+executed.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:whitespace="preserve">the newly-created #GSource.</doc>
+          <type name="Source" c:type="GSource*"/>
+        </return-value>
+        <parameters>
+          <parameter name="source_funcs" transfer-ownership="none">
+            <doc xml:whitespace="preserve">structure containing functions that implement the sources behavior.</doc>
+            <type name="SourceFuncs" c:type="GSourceFuncs*"/>
+          </parameter>
+          <parameter name="struct_size" transfer-ownership="none">
+            <doc xml:whitespace="preserve">size of the #GSource structure to create.</doc>
+            <type name="guint" c:type="guint"/>
+          </parameter>
+        </parameters>
+      </constructor>
       <method name="add_child_source"
               c:identifier="g_source_add_child_source"
               version="2.28">
@@ -17155,16 +17193,14 @@
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
       </method>
-      <method name="get_context"
-              c:identifier="g_source_get_context"
-              introspectable="0">
+      <method name="get_context" c:identifier="g_source_get_context">
         <doc xml:whitespace="preserve">Gets the #GMainContext with which the source is associated.
 Calling this function on a destroyed source is an error.
 
-or %NULL if the context has not yet been added
-to a source.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">the #GMainContext with which the source is associated,</doc>
+source is associated, or %NULL if the context has not
+yet been added to a source.</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:whitespace="preserve">the #GMainContext with which the</doc>
           <type name="MainContext" c:type="GMainContext*"/>
         </return-value>
       </method>
@@ -17294,9 +17330,9 @@
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
       </method>
-      <method name="ref" c:identifier="g_source_ref" introspectable="0">
+      <method name="ref" c:identifier="g_source_ref">
         <doc xml:whitespace="preserve">Increases the reference count on a source by one.</doc>
-        <return-value>
+        <return-value transfer-ownership="full">
           <doc xml:whitespace="preserve">@source</doc>
           <type name="Source" c:type="GSource*"/>
         </return-value>
@@ -17457,30 +17493,6 @@
           <type name="none" c:type="void"/>
         </return-value>
       </method>
-      <function name="new" c:identifier="g_source_new" introspectable="0">
-        <doc xml:whitespace="preserve">Creates a new #GSource structure. The size is specified to
-allow creating structures derived from #GSource that contain
-additional data. The size passed in must be at least
-&lt;literal&gt;sizeof (GSource)&lt;/literal&gt;.
-
-The source will not initially be associated with any #GMainContext
-and must be added to one with g_source_attach() before it will be
-executed.</doc>
-        <return-value>
-          <doc xml:whitespace="preserve">the newly-created #GSource.</doc>
-          <type name="Source" c:type="GSource*"/>
-        </return-value>
-        <parameters>
-          <parameter name="source_funcs" transfer-ownership="none">
-            <doc xml:whitespace="preserve">structure containing functions that implement the sources behavior.</doc>
-            <type name="SourceFuncs" c:type="GSourceFuncs*"/>
-          </parameter>
-          <parameter name="struct_size" transfer-ownership="none">
-            <doc xml:whitespace="preserve">size of the #GSource structure to create.</doc>
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </function>
       <function name="remove" c:identifier="g_source_remove">
         <doc xml:whitespace="preserve">Removes the source with the given id from the default main context.
 The id of
@@ -17622,7 +17634,7 @@
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data" transfer-ownership="none" closure="0">
           <doc xml:whitespace="preserve">data passed to the function, set when the source was created with one of the above functions</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -19814,7 +19826,7 @@
 just in the order in which they were added to the pool.
 
 Note, if the maximum number of threads is more than 1, the order
-that threads are executed cannot be guranteed 100%. Threads are
+that threads are executed cannot be guaranteed 100%. Threads are
 scheduled by the operating system and are executed at random. It
 cannot be assumed that threads are executed in the order they are
 created.</doc>
@@ -20093,7 +20105,7 @@
 Otherwise @time_ is treated is local time.  The distinction between
 %G_TIME_TYPE_STANDARD and %G_TIME_TYPE_DAYLIGHT is ignored except in
 the case that the given @time_ is ambiguous.  In Toronto, for example,
-01:30 on November 7th 2010 occured twice (once inside of daylight
+01:30 on November 7th 2010 occurred twice (once inside of daylight
 savings time and the next, an hour later, outside of daylight savings
 time).  In this case, the different value of @type would result in a
 different interval being returned.
@@ -21594,7 +21606,7 @@
 then although there are 9 individual values that comprise the
 entire dictionary (two keys, two values, two variants containing
 the values, two dictionary entries, plus the dictionary itself),
-only 1 #GVariant instance exists -- the one refering to the
+only 1 #GVariant instance exists -- the one referring to the
 dictionary.
 &lt;/para&gt;
 &lt;para&gt;
@@ -23394,7 +23406,7 @@
 is returned.
 
 In case of any error, %NULL will be returned.  If @error is non-%NULL
-then it will be set to reflect the error that occured.
+then it will be set to reflect the error that occurred.
 
 Officially, the language understood by the parser is "any string
 produced by g_variant_print()".</doc>
@@ -26807,8 +26819,7 @@
     </function>
     <function name="child_watch_source_new"
               c:identifier="g_child_watch_source_new"
-              version="2.4"
-              introspectable="0">
+              version="2.4">
       <doc xml:whitespace="preserve">Creates a new child_watch source.
 
 The source will not initially be associated with any #GMainContext
@@ -26828,7 +26839,7 @@
 compatible with calling &lt;literal&gt;waitpid(-1)&lt;/literal&gt; in
 the application. Calling waitpid() for individual pids will
 still work fine.</doc>
-      <return-value>
+      <return-value transfer-ownership="full">
         <doc xml:whitespace="preserve">the newly-created child watch source</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -28061,7 +28072,7 @@
 &lt;/listitem&gt;
 &lt;/itemizedlist&gt;
 
-If the call was sucessful, it returns %TRUE. If the call was not successful,
+If the call was successful, it returns %TRUE. If the call was not successful,
 it returns %FALSE and sets @error. The error domain is #G_FILE_ERROR.
 Possible error codes are those in the #GFileError enumeration.
 
@@ -29495,9 +29506,7 @@
         </parameter>
       </parameters>
     </function>
-    <function name="idle_source_new"
-              c:identifier="g_idle_source_new"
-              introspectable="0">
+    <function name="idle_source_new" c:identifier="g_idle_source_new">
       <doc xml:whitespace="preserve">Creates a new idle source.
 
 The source will not initially be associated with any #GMainContext
@@ -29505,7 +29514,7 @@
 executed. Note that the default priority for idle sources is
 %G_PRIORITY_DEFAULT_IDLE, as compared to other sources which
 have a default priority of %G_PRIORITY_DEFAULT.</doc>
-      <return-value>
+      <return-value transfer-ownership="full">
         <doc xml:whitespace="preserve">the newly-created idle source</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -29712,9 +29721,7 @@
         <type name="Quark" c:type="GQuark"/>
       </return-value>
     </function>
-    <function name="io_create_watch"
-              c:identifier="g_io_create_watch"
-              introspectable="0">
+    <function name="io_create_watch" c:identifier="g_io_create_watch">
       <doc xml:whitespace="preserve">Creates a #GSource that's dispatched when @condition is met for the
 given @channel. For example, if condition is #G_IO_IN, the source will
 be dispatched when there's data available for reading.
@@ -29726,7 +29733,7 @@
 On Windows, polling a #GSource created to watch a channel for a socket
 puts the socket in non-blocking mode. This is a side-effect of the
 implementation and unavoidable.</doc>
-      <return-value>
+      <return-value transfer-ownership="full">
         <doc xml:whitespace="preserve">a new #GSource</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -29993,12 +30000,41 @@
         </parameter>
       </parameters>
     </function>
+    <function name="main_context_default"
+              c:identifier="g_main_context_default"
+              moved-to="MainContext.default">
+      <doc xml:whitespace="preserve">Returns the global default main context. This is the main context
+used for main loop functions when a main loop is not explicitly
+specified, and corresponds to the "main" main loop. See also
+g_main_context_get_thread_default().</doc>
+      <return-value transfer-ownership="none">
+        <doc xml:whitespace="preserve">the global default main context.</doc>
+        <type name="MainContext" c:type="GMainContext*"/>
+      </return-value>
+    </function>
+    <function name="main_context_get_thread_default"
+              c:identifier="g_main_context_get_thread_default"
+              moved-to="MainContext.get_thread_default"
+              version="2.22">
+      <doc xml:whitespace="preserve">Gets the thread-default #GMainContext for this thread. Asynchronous
+operations that want to be able to be run in contexts other than
+the default one should call this method to get a #GMainContext to
+add their #GSource&lt;!-- --&gt;s to. (Note that even in single-threaded
+programs applications may sometimes want to temporarily push a
+non-default context, so it is not safe to assume that this will
+always return %NULL if threads are not initialized.)
+
+%NULL if the thread-default context is the global default context.</doc>
+      <return-value transfer-ownership="none">
+        <doc xml:whitespace="preserve">the thread-default #GMainContext, or</doc>
+        <type name="MainContext" c:type="GMainContext*"/>
+      </return-value>
+    </function>
     <function name="main_current_source"
               c:identifier="g_main_current_source"
-              version="2.12"
-              introspectable="0">
+              version="2.12">
       <doc xml:whitespace="preserve">Returns the currently firing source for this thread.</doc>
-      <return-value>
+      <return-value transfer-ownership="none">
         <doc xml:whitespace="preserve">The currently firing source or %NULL.</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -33839,7 +33875,7 @@
 if the string is not completely converted it attempts the conversion
 again with g_ascii_strtod(), and returns the best match.
 
-This function should seldomly be used. The normal situation when reading
+This function should seldom be used. The normal situation when reading
 numbers not for human consumption is to use g_ascii_strtod(). Only when
 you know that you must expect both locale formatted and C formatted numbers
 should you use this. Make sure that you don't pass strings such as comma
@@ -34986,9 +35022,7 @@
         </parameter>
       </parameters>
     </function>
-    <function name="timeout_source_new"
-              c:identifier="g_timeout_source_new"
-              introspectable="0">
+    <function name="timeout_source_new" c:identifier="g_timeout_source_new">
       <doc xml:whitespace="preserve">Creates a new timeout source.
 
 The source will not initially be associated with any #GMainContext
@@ -34997,7 +35031,7 @@
 
 The interval given is in terms of monotonic time, not wall clock
 time.  See g_get_monotonic_time().</doc>
-      <return-value>
+      <return-value transfer-ownership="full">
         <doc xml:whitespace="preserve">the newly-created timeout source</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -35010,8 +35044,7 @@
     </function>
     <function name="timeout_source_new_seconds"
               c:identifier="g_timeout_source_new_seconds"
-              version="2.14"
-              introspectable="0">
+              version="2.14">
       <doc xml:whitespace="preserve">Creates a new timeout source.
 
 The source will not initially be associated with any #GMainContext
@@ -35023,7 +35056,7 @@
 
 The interval given in terms of monotonic time, not wall clock time.
 See g_get_monotonic_time().</doc>
-      <return-value>
+      <return-value transfer-ownership="full">
         <doc xml:whitespace="preserve">the newly-created timeout source</doc>
         <type name="Source" c:type="GSource*"/>
       </return-value>
@@ -36948,7 +36981,7 @@
 is returned.
 
 In case of any error, %NULL will be returned.  If @error is non-%NULL
-then it will be set to reflect the error that occured.
+then it will be set to reflect the error that occurred.
 
 Officially, the language understood by the parser is "any string
 produced by g_variant_print()".</doc>
