aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-05 19:00:29 +0100
committerTed Gould <ted@canonical.com>2009-08-05 19:00:29 +0100
commit397fa1de0d5b7e04b058436b694f389687ac17b8 (patch)
treec3ac07583c2d7ff848a0b61270593fa06931bf1c
parentd20d4bf298defb4c60e76b3e463b352f276a3b8e (diff)
parent10327267daa9e4ba36ace96f637beaa9045e0895 (diff)
downloadayatana-indicator-messages-397fa1de0d5b7e04b058436b694f389687ac17b8.tar.gz
ayatana-indicator-messages-397fa1de0d5b7e04b058436b694f389687ac17b8.tar.bz2
ayatana-indicator-messages-397fa1de0d5b7e04b058436b694f389687ac17b8.zip
Fix to dereference the application menu items correctly so that
the signal handlers are dropped as well.
-rw-r--r--debian/changelog7
-rw-r--r--src/app-menu-item.c1
-rw-r--r--src/indicator-service.c1
3 files changed, 9 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 3ca4fff..bf746fd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+indicator-messages (0.2.0~bzr121-0ubuntu1~ppa5) UNRELEASED; urgency=low
+
+ * Fix to dereference the application menu items correctly so that
+ the signal handlers are dropped as well.
+
+ -- Ted Gould <ted@ubuntu.com> Wed, 05 Aug 2009 18:59:57 +0100
+
indicator-messages (0.2.0~bzr121-0ubuntu1~ppa4) karmic; urgency=low
* debian/control: Adding in a build dep on libindicate-gtk-dev
diff --git a/src/app-menu-item.c b/src/app-menu-item.c
index f973e33..2212be5 100644
--- a/src/app-menu-item.c
+++ b/src/app-menu-item.c
@@ -257,6 +257,7 @@ activate_cb (AppMenuItem * self, gpointer data)
static void
indicator_added_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data)
{
+ g_return_if_fail(IS_APP_MENU_ITEM(data));
AppMenuItemPrivate * priv = APP_MENU_ITEM_GET_PRIVATE(data);
if (g_strcmp0(INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_SERVER_DBUS_NAME(priv->server))) {
diff --git a/src/indicator-service.c b/src/indicator-service.c
index 77d42e6..cb7e23a 100644
--- a/src/indicator-service.c
+++ b/src/indicator-service.c
@@ -255,6 +255,7 @@ server_removed (IndicateListener * listener, IndicateListenerServer * server, gc
if (sltp->menuitem != NULL) {
dbusmenu_menuitem_property_set(DBUSMENU_MENUITEM(sltp->menuitem), "visibile", "false");
dbusmenu_menuitem_child_delete(DBUSMENU_MENUITEM(data), DBUSMENU_MENUITEM(sltp->menuitem));
+ g_object_unref(G_OBJECT(sltp->menuitem));
}
g_free(sltp);