[gnome-panel/wip/segeiger/fix-gvariant-issue] Fix crash of gnome-panel if applet crashes on panel reload



commit fceebdd3bec9cae2f52ef79fc806a57cb1a7b979
Author: Sebastian Geiger <sbastig gmx net>
Date:   Sun Feb 7 16:20:30 2016 +0100

    Fix crash of gnome-panel if applet crashes on panel reload

 .../panel-applet-container.c                       |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/gnome-panel/libpanel-applet-private/panel-applet-container.c 
b/gnome-panel/libpanel-applet-private/panel-applet-container.c
index fea6bfe..76eb032 100644
--- a/gnome-panel/libpanel-applet-private/panel-applet-container.c
+++ b/gnome-panel/libpanel-applet-private/panel-applet-container.c
@@ -460,6 +460,21 @@ on_factory_appeared (GDBusConnection   *connection,
 }
 
 static void
+on_factory_disappeared (GDBusConnection   *connection,
+                        const gchar       *name,
+                        AppletFactoryData *data)
+{
+  PanelAppletContainer *container;
+
+  container = PANEL_APPLET_CONTAINER (g_async_result_get_source_object (G_ASYNC_RESULT (data->task)));
+
+  g_bus_unwatch_name (container->priv->name_watcher_id);
+  container->priv->name_watcher_id = 0;
+
+  g_object_unref (container);
+}
+
+static void
 panel_applet_container_get_applet (PanelAppletContainer *container,
                                   GdkScreen            *screen,
                                   const gchar          *iid,
@@ -510,7 +525,7 @@ panel_applet_container_get_applet (PanelAppletContainer *container,
                                  bus_name,
                                  G_BUS_NAME_WATCHER_FLAGS_AUTO_START,
                                  (GBusNameAppearedCallback) on_factory_appeared,
-                                 NULL,
+                                 (GBusNameVanishedCallback) on_factory_disappeared,
                                  data,
                                  (GDestroyNotify) applet_factory_data_free);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]