aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-04-15 01:15:42 -0500
committerTed Gould <ted@gould.cx>2010-04-15 01:15:42 -0500
commitd40baa2d6e30001d423658ce3ac173449f932310 (patch)
treea72a3e8bc4852f80ab380fa72f4e6d0bf685d96f /libdbusmenu-glib/client.c
parent00a7938319d15cb6484b8e7dc897d854816772bf (diff)
parente4a3d964d9c5b57fe1f3488459545212891732b0 (diff)
downloadlibdbusmenu-d40baa2d6e30001d423658ce3ac173449f932310.tar.gz
libdbusmenu-d40baa2d6e30001d423658ce3ac173449f932310.tar.bz2
libdbusmenu-d40baa2d6e30001d423658ce3ac173449f932310.zip
Changing the GTK layer to look at the realized location instead of the absolute location in the menu ordering.
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r--libdbusmenu-glib/client.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index f5546a2..d61b1ae 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -35,6 +35,7 @@ License version 3 and version 2.1 along with this program. If not, see
#include "client.h"
#include "menuitem.h"
+#include "menuitem-private.h"
#include "client-menuitem.h"
#include "dbusmenu-client.h"
#include "server-marshal.h"
@@ -645,7 +646,7 @@ menuitem_get_properties_new_cb (DBusGProxy * proxy, GHashTable * properties, GEr
#ifdef MASSIVEDEBUGGING
g_debug("Client has realized a menuitem: %d", dbusmenu_menuitem_get_id(propdata->item));
#endif
- g_signal_emit(G_OBJECT(propdata->item), DBUSMENU_MENUITEM_SIGNAL_REALIZED_ID, 0, TRUE);
+ dbusmenu_menuitem_set_realized(propdata->item);
if (!handled) {
g_signal_emit(G_OBJECT(propdata->client), signals[NEW_MENUITEM], 0, propdata->item, TRUE);
@@ -748,6 +749,7 @@ parse_layout_xml(DbusmenuClient * client, xmlNodePtr node, DbusmenuMenuitem * it
if (parent != NULL) {
dbusmenu_menuitem_child_delete(parent, item);
}
+ /* XXX: Should this be an unref? Who's reffing this that it exists without a parent? */
g_object_unref(G_OBJECT(item));
item = NULL;
}
@@ -773,6 +775,7 @@ parse_layout_xml(DbusmenuClient * client, xmlNodePtr node, DbusmenuMenuitem * it
}
} else {
/* Refresh the properties */
+ /* XXX: We shouldn't need to get the properties everytime we reuse an entry */
gchar * properties[1] = {NULL}; /* This gets them all */
org_ayatana_dbusmenu_get_properties_async(proxy, id, (const gchar **)properties, menuitem_get_properties_replace_cb, item);
}