gapplication: Initialize backend before withdrawing notifications
authorKalev Lember <klember@redhat.com>
Mon, 22 Jun 2015 17:56:38 +0000 (19:56 +0200)
committerKalev Lember <klember@redhat.com>
Tue, 23 Jun 2015 12:22:41 +0000 (14:22 +0200)
Make sure to initialize the notification backend in
g_application_withdraw_notification() the same way as is done in
g_application_send_notification().

This makes it possible for an app to withdraw notifications it has sent
in a previous execution of the application.

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

gio/gapplication.c

index be7127a..37a8258 100644 (file)
@@ -2715,8 +2715,10 @@ g_application_withdraw_notification (GApplication *application,
   g_return_if_fail (G_IS_APPLICATION (application));
   g_return_if_fail (id != NULL);
 
-  if (application->priv->notifications)
-    g_notification_backend_withdraw_notification (application->priv->notifications, id);
+  if (application->priv->notifications == NULL)
+    application->priv->notifications = g_notification_backend_new_default (application);
+
+  g_notification_backend_withdraw_notification (application->priv->notifications, id);
 }
 
 /* Busy binding {{{1 */