GApplication: let the main loop drain on shutdown
authorRyan Lortie <desrt@desrt.ca>
Sat, 21 Feb 2015 15:24:23 +0000 (10:24 -0500)
committerRyan Lortie <desrt@desrt.ca>
Mon, 23 Feb 2015 00:14:03 +0000 (19:14 -0500)
After ::shutdown, run the mainloop until all pending activity is
handled, before returning from run().

Among other things, this gives a chance for destroyed windows to be
properly withdrawn from the windowing system.

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

gio/gapplication.c

index 1d2b932..51f40f1 100644 (file)
@@ -2324,6 +2324,9 @@ g_application_run (GApplication  *application,
 
   g_settings_sync ();
 
+  while (g_main_context_iteration (NULL, FALSE))
+    ;
+
   return status;
 }