gsourceclosure.c: Fix build on Windows
authorChun-wei Fan <fanchunwei@src.gnome.org>
Thu, 18 Jul 2013 09:22:53 +0000 (17:22 +0800)
committerColin Walters <walters@verbum.org>
Sun, 21 Jul 2013 19:50:34 +0000 (20:50 +0100)
GPid is a HANDLE (aka void *) on Windows, not an int, so treat pid
accordingly on Windows, as using pid as a gulong directly would likely be
undesirable on Windows

https://bugzilla.gnome.org/show_bug.cgi?id=704447

gobject/gsourceclosure.c

index a16b6c5..f6be8de 100644 (file)
@@ -117,8 +117,14 @@ g_child_watch_closure_callback (GPid     pid,
 
   g_value_init (&result_value, G_TYPE_BOOLEAN);
 
+#ifdef G_OS_UNIX
   g_value_init (&params[0], G_TYPE_ULONG);
   g_value_set_ulong (&params[0], pid);
+#endif
+#ifdef G_OS_WIN32
+  g_value_init (&params[0], G_TYPE_POINTER);
+  g_value_set_pointer (&params[0], pid);
+#endif
 
   g_value_init (&params[1], G_TYPE_INT);
   g_value_set_int (&params[1], status);