diff options
| author | Ted Gould <ted@gould.cx> | 2010-05-27 11:36:00 -0500 |
|---|---|---|
| committer | Ted Gould <ted@gould.cx> | 2010-05-27 11:36:00 -0500 |
| commit | 77dfdb6c174eed409e8060fd08f6e0bd50d8e9ec (patch) | |
| tree | b86c7d1a4376b377429437912c4d1fc90c91d46b /libdbusmenu-glib/server.c | |
| parent | 187a33539569163ee953903010169356b8d57beb (diff) | |
| parent | 7f65b44564cda33de94688b35f0b191fedea1bf8 (diff) | |
| download | libdbusmenu-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.c | 14 |
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); |
