From 030d6a4f5a48fcac6333cc4159fc343141339a15 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 12:21:59 -0600 Subject: We need to reduce the ref count on the old root even if there wasn't a change. --- libdbusmenu-glib/client.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 2302110..1c1574c 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -778,14 +778,14 @@ parse_layout (DbusmenuClient * client, const gchar * layout) g_object_ref(priv->root); dbusmenu_menuitem_set_root(priv->root, TRUE); - if (oldroot != NULL) { - dbusmenu_menuitem_set_root(oldroot, FALSE); - g_object_unref(oldroot); - } - g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE); } + if (oldroot != NULL) { + dbusmenu_menuitem_set_root(oldroot, FALSE); + g_object_unref(oldroot); + } + return 1; } -- cgit v1.2.3 From a9b3012fc237da6dc0575b6695e5247529c971cb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 13:49:57 -0600 Subject: Debugging messages --- libdbusmenu-glib/menuitem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index a2d2682..54cb6dc 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -270,6 +270,7 @@ _g_value_free (gpointer data) static void dbusmenu_menuitem_init (DbusmenuMenuitem *self) { + g_debug("Menuitem init: %X", (guint)self); DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(self); priv->id = -1; @@ -285,6 +286,7 @@ dbusmenu_menuitem_init (DbusmenuMenuitem *self) static void dbusmenu_menuitem_dispose (GObject *object) { + g_debug("Menuitem dele: %X", (guint)self); DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(object); GList * child = NULL; -- cgit v1.2.3 From 46b5f010ff1ea0fcdbab0b1cdc0c224dc67dba5b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 13:50:21 -0600 Subject: With typos --- libdbusmenu-glib/menuitem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index 54cb6dc..ba8b136 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -286,7 +286,7 @@ dbusmenu_menuitem_init (DbusmenuMenuitem *self) static void dbusmenu_menuitem_dispose (GObject *object) { - g_debug("Menuitem dele: %X", (guint)self); + g_debug("Menuitem dele: %X", (guint)object); DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(object); GList * child = NULL; -- cgit v1.2.3 From e530a69bb59e1c416ab5f1c07c3b09b58977be6d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 14:28:33 -0600 Subject: Printing out proxy destroy --- libdbusmenu-glib/client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 1c1574c..69520bc 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -432,7 +432,7 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata) if (priv->root != NULL) { g_object_unref(G_OBJECT(priv->root)); priv->root = NULL; - #ifdef MASSIVEDEBUGGING + #if 1 g_debug("Proxies destroyed, signaling a root change and a layout update."); #endif g_signal_emit(G_OBJECT(userdata), signals[ROOT_CHANGED], 0, NULL, TRUE); -- cgit v1.2.3 From 815fb184f7ec28d0a3a23f7dd63d2246e8d2f2ea Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 15:32:26 -0600 Subject: Printing more debugging. --- libdbusmenu-glib/client.c | 1 + libdbusmenu-glib/menuitem.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 69520bc..20f3620 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -430,6 +430,7 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata) DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(userdata); if (priv->root != NULL) { + g_debug("Root ref count: %d", ((GObject *)priv->root)->ref_count); g_object_unref(G_OBJECT(priv->root)); priv->root = NULL; #if 1 diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index ba8b136..f494487 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -291,6 +291,7 @@ dbusmenu_menuitem_dispose (GObject *object) GList * child = NULL; for (child = priv->children; child != NULL; child = g_list_next(child)) { + g_debug("Unreffing %X", (guint)child->data); g_object_unref(G_OBJECT(child->data)); } g_list_free(priv->children); -- cgit v1.2.3 From 12f9f09aab33976f0bfe0ee358f3335df6c0ff9c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 15:48:22 -0600 Subject: Debugging. --- libdbusmenu-glib/client.c | 1 + libdbusmenu-glib/menuitem.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 20f3620..7bc3eb5 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -432,6 +432,7 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata) if (priv->root != NULL) { g_debug("Root ref count: %d", ((GObject *)priv->root)->ref_count); g_object_unref(G_OBJECT(priv->root)); + g_debug(" ref count: %d", ((GObject *)priv->root)->ref_count); priv->root = NULL; #if 1 g_debug("Proxies destroyed, signaling a root change and a layout update."); diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c index f494487..f5bd18d 100644 --- a/libdbusmenu-glib/menuitem.c +++ b/libdbusmenu-glib/menuitem.c @@ -304,7 +304,7 @@ dbusmenu_menuitem_dispose (GObject *object) static void dbusmenu_menuitem_finalize (GObject *object) { - /* g_debug("Menuitem dying"); */ + g_debug("Menuitem dying"); DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(object); if (priv->properties != NULL) { -- cgit v1.2.3 From 2b26528b9d2feefd8ab014e7743a12521837be5f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 8 Feb 2010 15:53:24 -0600 Subject: Removing the setting of root and the ref. --- libdbusmenu-glib/client.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 7bc3eb5..64fc7d3 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -776,10 +776,6 @@ parse_layout (DbusmenuClient * client, const gchar * layout) g_debug("Client signaling root changed."); #endif - /* Switch the root around */ - g_object_ref(priv->root); - dbusmenu_menuitem_set_root(priv->root, TRUE); - g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE); } -- cgit v1.2.3