aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/server.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-05-27 11:36:00 -0500
committerTed Gould <ted@gould.cx>2010-05-27 11:36:00 -0500
commit77dfdb6c174eed409e8060fd08f6e0bd50d8e9ec (patch)
treeb86c7d1a4376b377429437912c4d1fc90c91d46b /libdbusmenu-glib/server.c
parent187a33539569163ee953903010169356b8d57beb (diff)
parent7f65b44564cda33de94688b35f0b191fedea1bf8 (diff)
downloadlibdbusmenu-77dfdb6c174eed409e8060fd08f6e0bd50d8e9ec.tar.gz
libdbusmenu-77dfdb6c174eed409e8060fd08f6e0bd50d8e9ec.tar.bz2
libdbusmenu-77dfdb6c174eed409e8060fd08f6e0bd50d8e9ec.zip
Import upstream version 0.3.0
Diffstat (limited to 'libdbusmenu-glib/server.c')
-rw-r--r--libdbusmenu-glib/server.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index d87c024..0da66cc 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -146,8 +146,8 @@ dbusmenu_server_class_init (DbusmenuServerClass *class)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(DbusmenuServerClass, id_update),
NULL, NULL,
- g_cclosure_marshal_VOID__UINT,
- G_TYPE_NONE, 1, G_TYPE_UINT);
+ g_cclosure_marshal_VOID__INT,
+ G_TYPE_NONE, 1, G_TYPE_INT);
/**
DbusmenuServer::layout-updated:
@arg0: The #DbusmenuServer emitting the signal.
@@ -404,6 +404,16 @@ _dbusmenu_server_get_layout (DbusmenuServer * server, gint parent, guint * revis
}
} else {
DbusmenuMenuitem * item = dbusmenu_menuitem_find_id(priv->root, parent);
+ if (item == NULL) {
+ if (error != NULL) {
+ g_set_error(error,
+ error_quark(),
+ INVALID_MENUITEM_ID,
+ "The ID supplied %d does not refer to a menu item we have",
+ parent);
+ }
+ return FALSE;
+ }
dbusmenu_menuitem_buildxml(item, xmlarray);
}
g_ptr_array_add(xmlarray, NULL);