[Goodies-commits] r7210 - in xfce4-clipman-plugin/trunk: . panel-plugin

Mike Massonnet mmassonnet at xfce.org
Wed Apr 15 22:06:08 CEST 2009


Author: mmassonnet
Date: 2009-04-15 20:06:08 +0000 (Wed, 15 Apr 2009)
New Revision: 7210

Modified:
   xfce4-clipman-plugin/trunk/ChangeLog
   xfce4-clipman-plugin/trunk/panel-plugin/main.c
Log:
Use a WeakNotify callback... useless but well...

Modified: xfce4-clipman-plugin/trunk/ChangeLog
===================================================================
--- xfce4-clipman-plugin/trunk/ChangeLog	2009-04-15 19:45:53 UTC (rev 7209)
+++ xfce4-clipman-plugin/trunk/ChangeLog	2009-04-15 20:06:08 UTC (rev 7210)
@@ -1,4 +1,11 @@
 2009-04-15	Mike Massonnet
+Use a WeakNotify callback... useless but well...
+
+	- panel-plugin/main.c:
+		Unref the status icon and move the plugin_save/free calls to a
+		WeakNotify callback on the status icon.
+
+2009-04-15	Mike Massonnet
 Install autostart file automagically
 
 	- panel-plugin/xfce4-clipman-plugin-autostart.desktop.in,

Modified: xfce4-clipman-plugin/trunk/panel-plugin/main.c
===================================================================
--- xfce4-clipman-plugin/trunk/panel-plugin/main.c	2009-04-15 19:45:53 UTC (rev 7209)
+++ xfce4-clipman-plugin/trunk/panel-plugin/main.c	2009-04-15 20:06:08 UTC (rev 7210)
@@ -72,6 +72,7 @@
                                                          guint activate_time);
 static gboolean         cb_status_icon_set_size         (MyPlugin *plugin,
                                                          gint size);
+static void             cb_status_icon_finalize         (MyPlugin *plugin);
 static void             install_autostart_file          ();
 
 /*
@@ -193,8 +194,8 @@
 
       gtk_main ();
 
-      plugin_save (plugin);
-      plugin_free (plugin);
+      g_object_unref (plugin->status_icon);
+
       return FALSE;
     }
 
@@ -277,6 +278,7 @@
                             G_CALLBACK (cb_status_icon_popup_menu), plugin);
   g_signal_connect_swapped (plugin->status_icon, "size-changed",
                             G_CALLBACK (cb_status_icon_set_size), plugin);
+  g_object_weak_ref (G_OBJECT (plugin->status_icon), (GWeakNotify)cb_status_icon_finalize, plugin);
 
   return plugin;
 }
@@ -349,6 +351,13 @@
 }
 
 static void
+cb_status_icon_finalize (MyPlugin *plugin)
+{
+  plugin_save (plugin);
+  plugin_free (plugin);
+}
+
+static void
 install_autostart_file ()
 {
   gchar *sysfile;




More information about the Goodies-commits mailing list