aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-04-15 01:23:10 -0500
committerTed Gould <ted@gould.cx>2010-04-15 01:23:10 -0500
commit490c7b4de7274d4c0c3529ff01bacb829d6aa4c8 (patch)
tree4b1fa3f794991102ea5a085df14b6a293b690a7b /libdbusmenu-glib/client.c
parentb76efc8297f488efce9e4fddf9e705c75a27065e (diff)
parent7bf97e72be70cf02997eca526aaac68df4494165 (diff)
downloadlibdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.tar.gz
libdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.tar.bz2
libdbusmenu-490c7b4de7274d4c0c3529ff01bacb829d6aa4c8.zip
* Upstream Merge
* Changing GTK layer to look at position in realized children to avoid realization races. (LP: #555816) * Don't allow setting children twice * Ref children of a menuitem * Return error when parent ID of getlayout can't be found * Adding in visible property to docs * Helpful comments in the code
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);
}