aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzr-builddeb/default.conf2
-rw-r--r--.bzrignore1
-rw-r--r--configure.ac6
-rw-r--r--debian/changelog193
-rw-r--r--debian/control74
-rw-r--r--debian/copyright53
-rw-r--r--debian/libdbusmenu-glib-dev.install4
-rw-r--r--debian/libdbusmenu-glib1.install1
-rw-r--r--debian/libdbusmenu-gtk-dev.install4
-rw-r--r--debian/libdbusmenu-gtk1.install1
-rw-r--r--debian/libdbusmenu-tools.install3
-rwxr-xr-xdebian/rules11
-rw-r--r--debian/watch2
-rw-r--r--libdbusmenu-glib/client.c40
-rw-r--r--libdbusmenu-glib/server-marshal.list2
-rw-r--r--libdbusmenu-glib/server.c4
16 files changed, 382 insertions, 19 deletions
diff --git a/.bzr-builddeb/default.conf b/.bzr-builddeb/default.conf
new file mode 100644
index 0000000..3165e05
--- /dev/null
+++ b/.bzr-builddeb/default.conf
@@ -0,0 +1,2 @@
+[BUILDDEB]
+merge = True
diff --git a/.bzrignore b/.bzrignore
index c9483e7..9733fb1 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -1,5 +1,6 @@
compile
m4
+debian/compat
libdbusmenu-glib/.deps
libdbusmenu-glib/.libs
libdbusmenu-glib/dbusmenu-glib.pc
diff --git a/configure.ac b/configure.ac
index b6ba561..16d08d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,11 @@
-AC_INIT(libdbusmenu, 0.2.3, ted@canonical.com)
+AC_INIT(libdbusmenu, 0.2.4, ted@canonical.com)
AC_COPYRIGHT([Copyright 2009,2010 Canonical])
AC_PREREQ(2.53)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(libdbusmenu, 0.2.3)
+AM_INIT_AUTOMAKE(libdbusmenu, 0.2.4)
AM_MAINTAINER_MODE
@@ -66,7 +66,7 @@ AC_SUBST(DBUSMENUTESTS_LIBS)
###########################
LIBDBUSMENU_CURRENT=1
-LIBDBUSMENU_REVISION=1
+LIBDBUSMENU_REVISION=2
LIBDBUSMENU_AGE=0
AC_SUBST(LIBDBUSMENU_CURRENT)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..84bcd4c
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,193 @@
+libdbusmenu (0.2.4-0ubuntu2~ppa1~proxy1) UNRELEASED; urgency=low
+
+ * Upstream Merge
+ * Adding in menuitem proxy object.
+
+ -- Ted Gould <ted@ubuntu.com> Wed, 17 Feb 2010 14:28:16 -0600
+
+libdbusmenu (0.2.4-0ubuntu1) lucid; urgency=low
+
+ * Upstream release 0.2.4
+ * Remove uneccessary reference to stop duplication of menus
+ * Handle dbus method errors better
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 11 Feb 2010 10:13:56 -0600
+
+libdbusmenu (0.2.3-0ubuntu3) lucid; urgency=low
+
+ * Backported lp:~ted/dbusmenu/dbus-error-handling to fix the
+ indicator-applet crashing sometime on softwares close
+ (lp: #518900, #519019)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Wed, 10 Feb 2010 00:12:35 +0100
+
+libdbusmenu (0.2.3-0ubuntu2) lucid; urgency=low
+
+ * Upstream Merge
+ * Removing the ref to root and a setting of root
+
+ -- Ted Gould <ted@ubuntu.com> Tue, 09 Feb 2010 08:53:00 -0600
+
+libdbusmenu (0.2.3-0ubuntu1) lucid; urgency=low
+
+ * Upstream release 0.2.3
+ * Fixing handing of root IDs being zero
+ * Handling syncing of properties when reusing items
+ * Shipping new JSON files and READMEs for testing.
+ * libdbusmenu-tools.install: Add in json file and README so
+ that they're put in the right directories.
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 05 Feb 2010 11:24:58 -0800
+
+libdbusmenu (0.2.2-0ubuntu3) lucid; urgency=low
+
+ * debian/control:
+ - let libdbusmenu-glib1 breaks libdbusmenu-glib0 since they are create
+ issues at runtime if both got loaded
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 04 Feb 2010 18:10:56 -0800
+
+libdbusmenu (0.2.2-0ubuntu2) lucid; urgency=low
+
+ * debian/control: fix a typo in the tools depends
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 04 Feb 2010 14:18:47 -0800
+
+libdbusmenu (0.2.2-0ubuntu1) lucid; urgency=low
+
+ * Updated for the soname changes
+
+ [ Ted Gould ]
+ * Upstream Release 0.2.2
+ * Interoperability fixes
+ * Adding timestamps to events
+ * Better handling of XML
+ * Adding tools for timing dbusmenu
+ * debian/libdbusmenu-tools.install: Adding a wildcard to get
+ all of the tools in libexec
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 04 Feb 2010 13:56:49 -0800
+
+libdbusmenu (0.2.1-0ubuntu1) lucid; urgency=low
+
+ * Upstream release 0.2.1
+ - Fix to not destroy the image if we're still using it.
+ - Adding code to support icon names that have an implied direction in them.
+ - Fix to put a small amount of padding between the icon and the label.
+
+ -- Ken VanDine <ken.vandine@canonical.com> Tue, 12 Jan 2010 11:03:39 -0500
+
+libdbusmenu (0.2.0-0ubuntu3) lucid; urgency=low
+
+ * debian/rules:
+ - updated shlibs version (lp: #505258)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Mon, 11 Jan 2010 16:04:11 +0100
+
+libdbusmenu (0.2.0-0ubuntu2) lucid; urgency=low
+
+ * Added debian/libdbusmenu-tools.install
+ * debian/control
+ - improved description for libdbusmenu-tools
+
+ -- Ken VanDine <ken.vandine@canonical.com> Sat, 09 Jan 2010 09:05:47 -0500
+
+libdbusmenu (0.2.0-0ubuntu1) lucid; urgency=low
+
+ * Upstream release 0.2.0
+ - Remove unused libdbusmenu-qt
+ - Changing API to be V0.2 for reals
+ - Adding underline support
+ - Test suite fixes and automation support
+ - dbus-dumper tool
+ - Switch to org.ayatana
+ - Fixing the handling of typed properties, especially bools.
+ - Adding GetChildren function for getting a single submenu
+ - Starting to watch DBus if the proxy builds fail.
+ - Test suite fixes
+ - Fixing the consistency between the #defines and what
+ was used in the code.
+ * debian/control, debian/libdbusmenu-tools.install: Setting
+ up a package for the new dbusmenu-dumper tool.
+ * debian/control: Mentioning nicely that this will cause
+ indicator-messages << 0.3 and indicator-session << 0.2 to
+ break.
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 08 Jan 2010 08:42:59 -0600
+
+libdbusmenu (0.1.8-0ubuntu1) lucid; urgency=low
+
+ * Upstream release 0.1.8
+ * Changing the name to org.ayatana
+ * Underline fixes
+ * Documenation of the DBus API
+ * Adding the GPL v3 Copying file so that we're all legal.
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 10 Dec 2009 12:55:07 -0600
+
+libdbusmenu (0.1.6-0ubuntu1) karmic; urgency=low
+
+ * Upstream release 0.1.6 (LP: #442822)
+ * Managing the life-cycle of the GTK Menu item better to
+ ensure that it is positioned correctly and dies
+ appropriately. (LP: #430904) and (LP: #419953)
+ * Checking returned properties to ensure that there wasn't
+ DBus errors. (LP: #433719)
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 02 Oct 2009 17:00:45 -0500
+
+libdbusmenu (0.1.5-0ubuntu1) karmic; urgency=low
+
+ * New upstream release (LP: #436185)
+
+ -- Ken VanDine <ken.vandine@canonical.com> Thu, 24 Sep 2009 17:12:25 -0400
+
+libdbusmenu (0.1.4-0ubuntu1) karmic; urgency=low
+
+ * Upstream release (LP: #432003)
+ - Applying a fix by not blocking if we're calling for the root. Everyone
+ should be listening for root changes anyway (lp: #427819)
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 17 Sep 2009 11:29:40 -0500
+
+libdbusmenu (0.1.3-0ubuntu1) karmic; urgency=low
+
+ * Upstream update 0.1.3 (LP: #427360)
+ * Fixes reordering of menu item issue
+
+ -- Ted Gould <ted@ubuntu.com> Thu, 10 Sep 2009 08:43:47 -0500
+
+libdbusmenu (0.1.2-0ubuntu1) karmic; urgency=low
+
+ * debian/rules:
+ - updated shlib version
+
+ [ Ted Gould ]
+ * Upstream release 0.1.2 (LP: #423958)
+
+ [ Ken VanDine ]
+ * debian/control
+ - Specify full urls for Vcs-Bzr
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Fri, 04 Sep 2009 11:12:38 +0200
+
+libdbusmenu (0.1.0-0ubuntu1) karmic; urgency=low
+
+ [ Ted Gould ]
+ * Upstream release 0.1.0
+ * debian/watch: Added for tarball
+ * debian/control:
+ - Specify both Vcs-Bzr and Vcs-Browser
+ - Fixed the project name
+
+ [ Martin Pitt ]
+ * Add bzr-builddep configuration for merge mode.
+ * debian/control: Fix Vcs-* links.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 27 Aug 2009 20:55:55 +0200
+
+libdbusmenu (0.1~bzr5-0ubuntu1) karmic; urgency=low
+
+ * First version.
+
+ -- Ted Gould <ted@ubuntu.com> Wed, 05 Aug 2009 00:46:41 +0100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..561429f
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,74 @@
+Source: libdbusmenu
+Section: gnome
+Priority: optional
+Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+Build-Depends: debhelper (>= 5.0),
+ cdbs (>= 0.4.41),
+ libgtk2.0-dev (>= 2.12.0),
+ libdbus-glib-1-dev,
+ gnome-doc-utils,
+ libtool,
+ intltool,
+ libxml2-dev,
+ libjson-glib-dev
+Standards-Version: 3.8.0
+Homepage: https://launchpad.net/libdbusmenu
+Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/dbusmenu/ubuntu
+Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-desktop/dbusmenu/ubuntu
+
+Package: libdbusmenu-glib1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Breaks: indicator-messages (<< 0.3.0),
+ indicator-session (<< 0.2.0),
+ libdbusmenu-glib0
+Description: Menus over DBus shared library for glib
+ This package contains shared libraries to be used by applications.
+
+Package: libdbusmenu-glib-dev
+Section: libdevel
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ libdbusmenu-glib1 (= ${binary:Version}),
+ libdbus-glib-1-dev (>= 0.76),
+ libgtk2.0-dev (>= 2.12.0)
+Description: Menus over DBus shared library
+ This package contains files that are needed to build applications.
+ .
+ This package provides the development files.
+
+Package: libdbusmenu-gtk1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Description: Menus over DBus shared library for GTK
+ This package contains shared libraries to be used by applications.
+
+Package: libdbusmenu-gtk-dev
+Section: libdevel
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ libdbusmenu-gtk1 (= ${binary:Version}),
+ libdbus-glib-1-dev (>= 0.76),
+ libgtk2.0-dev (>= 2.12.0),
+ libdbusmenu-glib-dev
+Description: Menus over DBus shared library for GTK
+ This package contains files that are needed to build applications.
+ .
+ This package provides the development files.
+
+Package: libdbusmenu-tools
+Section: devel
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ libdbusmenu-glib1 (= ${binary:Version})
+Description: Tools useful during development with libdbusmenu
+ .
+ This package contains tools that are useful when building applications.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..074097c
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,53 @@
+This package was debianized by Ted Gould <ted@canonical.com> on
+Wed, 11 Feb 2009 15:41:06 -0600.
+
+It was downloaded from <http://launchpad.net/indicator-applet/>
+
+Upstream Author:
+
+ Ted Gould <ted@canonical.com>
+
+Copyright:
+
+ Copyright (C) 2009 Canonical Ltd.
+
+License:
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
+License for libindicate/* (libindicate0 and libindicate-dev packages):
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 or 3 of the License.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+On Debian systems, the complete text of the GNU Lesser General Public License
+can be found in `/usr/share/common-licenses/LGPL-2.1' and
+`/usr/share/common-licenses/LGPL-3'.
+
+The Debian packaging is (C) 2009, Canonical Ltd. and
+is licensed under the GPLv3, see `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/libdbusmenu-glib-dev.install b/debian/libdbusmenu-glib-dev.install
new file mode 100644
index 0000000..17ddd2b
--- /dev/null
+++ b/debian/libdbusmenu-glib-dev.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/include/libdbusmenu-0.1/libdbusmenu-glib/*
+debian/tmp/usr/lib/pkgconfig/dbusmenu-glib.pc
+debian/tmp/usr/lib/libdbusmenu-glib.a
+debian/tmp/usr/lib/libdbusmenu-glib.so
diff --git a/debian/libdbusmenu-glib1.install b/debian/libdbusmenu-glib1.install
new file mode 100644
index 0000000..acdbacf
--- /dev/null
+++ b/debian/libdbusmenu-glib1.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libdbusmenu-glib.so.*
diff --git a/debian/libdbusmenu-gtk-dev.install b/debian/libdbusmenu-gtk-dev.install
new file mode 100644
index 0000000..247fbca
--- /dev/null
+++ b/debian/libdbusmenu-gtk-dev.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/include/libdbusmenu-0.1/libdbusmenu-gtk/*
+debian/tmp/usr/lib/pkgconfig/dbusmenu-gtk.pc
+debian/tmp/usr/lib/libdbusmenu-gtk.a
+debian/tmp/usr/lib/libdbusmenu-gtk.so
diff --git a/debian/libdbusmenu-gtk1.install b/debian/libdbusmenu-gtk1.install
new file mode 100644
index 0000000..d677935
--- /dev/null
+++ b/debian/libdbusmenu-gtk1.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libdbusmenu-gtk.so.*
diff --git a/debian/libdbusmenu-tools.install b/debian/libdbusmenu-tools.install
new file mode 100644
index 0000000..4bdf013
--- /dev/null
+++ b/debian/libdbusmenu-tools.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/libdbusmenu/dbusmenu-*
+debian/tmp/usr/share/libdbusmenu/* /usr/share/libdbusmenu-tools/
+debian/tmp/usr/share/doc/libdbusmenu/README.dbusmenu-bench /usr/share/doc/libdbusmenu-tools/
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..cc20837
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/gnome.mk
+
+DEB_CONFIGURE_EXTRA_FLAGS += --disable-scrollkeeper
+LDFLAGS += -Wl,-z,defs -Wl,--as-needed
+
+DEB_DH_MAKESHLIBS_ARGS_libdbusmenu-gtk1 += -V 'libdbusmenu-gtk1 (>= 0.2.2)'
+DEB_DH_MAKESHLIBS_ARGS_libdbusmenu-glib1 += -V 'libdbusmenu-glib1 (>= 0.2.2)'
+
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..9f089a5
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://launchpad.net/dbusmenu/+download .*/libdbusmenu-([0-9.]+)\.tar\.gz
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index edffb07..4735794 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -113,7 +113,7 @@ static void dbusmenu_client_finalize (GObject *object);
static void set_property (GObject * obj, guint id, const GValue * value, GParamSpec * pspec);
static void get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec);
/* Private Funcs */
-static void layout_update (DBusGProxy * proxy, gint revision, guint parent, DbusmenuClient * client);
+static void layout_update (DBusGProxy * proxy, guint revision, gint parent, DbusmenuClient * client);
static void id_prop_update (DBusGProxy * proxy, gint id, gchar * property, GValue * value, DbusmenuClient * client);
static void id_update (DBusGProxy * proxy, gint id, DbusmenuClient * client);
static void build_proxies (DbusmenuClient * client);
@@ -345,7 +345,7 @@ get_property (GObject * obj, guint id, GValue * value, GParamSpec * pspec)
/* Annoying little wrapper to make the right function update */
static void
-layout_update (DBusGProxy * proxy, gint revision, guint parent, DbusmenuClient * client)
+layout_update (DBusGProxy * proxy, guint revision, gint parent, DbusmenuClient * client)
{
DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client);
priv->current_revision = revision;
@@ -592,8 +592,8 @@ build_proxies (DbusmenuClient * client)
dbus_g_proxy_add_signal(priv->menuproxy, "LayoutUpdated", G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
dbus_g_proxy_connect_signal(priv->menuproxy, "LayoutUpdated", G_CALLBACK(layout_update), client, NULL);
- dbus_g_object_register_marshaller(_dbusmenu_server_marshal_VOID__UINT_STRING_POINTER, G_TYPE_NONE, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
- dbus_g_proxy_add_signal(priv->menuproxy, "ItemPropertyUpdated", G_TYPE_UINT, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
+ dbus_g_object_register_marshaller(_dbusmenu_server_marshal_VOID__INT_STRING_POINTER, G_TYPE_NONE, G_TYPE_INT, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
+ dbus_g_proxy_add_signal(priv->menuproxy, "ItemPropertyUpdated", G_TYPE_INT, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
dbus_g_proxy_connect_signal(priv->menuproxy, "ItemPropertyUpdated", G_CALLBACK(id_prop_update), client, NULL);
dbus_g_proxy_add_signal(priv->menuproxy, "ItemUpdated", G_TYPE_INT, G_TYPE_INVALID);
@@ -649,6 +649,7 @@ get_properties_helper (gpointer key, gpointer value, gpointer data)
static void
menuitem_get_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError * error, gpointer data)
{
+ g_return_if_fail(DBUSMENU_IS_MENUITEM(data));
if (error != NULL) {
g_warning("Error getting properties on a menuitem: %s", error->message);
return;
@@ -658,19 +659,33 @@ menuitem_get_properties_cb (DBusGProxy * proxy, GHashTable * properties, GError
return;
}
+/* This function is called to refresh the properites on an item that
+ is getting recycled with the update, but we think might have prop
+ changes. */
static void
menuitem_get_properties_replace_cb (DBusGProxy * proxy, GHashTable * properties, GError * error, gpointer data)
{
+ g_return_if_fail(DBUSMENU_IS_MENUITEM(data));
+ gboolean have_error = FALSE;
+
+ if (error != NULL) {
+ g_warning("Unable to replace properties on %d: %s", dbusmenu_menuitem_get_id(DBUSMENU_MENUITEM(data)), error->message);
+ have_error = TRUE;
+ }
+
GList * current_props = NULL;
for (current_props = dbusmenu_menuitem_properties_list(DBUSMENU_MENUITEM(data));
current_props != NULL ; current_props = g_list_next(current_props)) {
- if (g_hash_table_lookup(properties, current_props->data) == NULL) {
+ if (have_error || g_hash_table_lookup(properties, current_props->data) == NULL) {
dbusmenu_menuitem_property_remove(DBUSMENU_MENUITEM(data), (const gchar *)current_props->data);
}
}
- menuitem_get_properties_cb(proxy, properties, error, data);
+ if (!have_error) {
+ menuitem_get_properties_cb(proxy, properties, error, data);
+ }
+
return;
}
@@ -720,13 +735,13 @@ menuitem_get_properties_new_cb (DBusGProxy * proxy, GHashTable * properties, GEr
return;
}
+/* Respond to the call function to make sure that the other side
+ got it, or print a warning. */
static void
menuitem_call_cb (DBusGProxy * proxy, GError * error, gpointer userdata)
{
- DbusmenuMenuitem * mi = (DbusmenuMenuitem *)userdata;
-
if (error != NULL) {
- g_warning("Unable to call menu item %d: %s", dbusmenu_menuitem_get_id(mi), error->message);
+ g_warning("Unable to call menu item %d: %s", GPOINTER_TO_INT(userdata), error->message);
}
return;
@@ -862,15 +877,14 @@ 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);
-
+ /* If they are different, and there was an old root we must
+ clean up that old root */
if (oldroot != NULL) {
dbusmenu_menuitem_set_root(oldroot, FALSE);
g_object_unref(oldroot);
}
+ /* If the root changed we can signal that */
g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE);
}
diff --git a/libdbusmenu-glib/server-marshal.list b/libdbusmenu-glib/server-marshal.list
index c5ec641..1689a05 100644
--- a/libdbusmenu-glib/server-marshal.list
+++ b/libdbusmenu-glib/server-marshal.list
@@ -1,2 +1,2 @@
-VOID: UINT, STRING, POINTER
+VOID: INT, STRING, POINTER
VOID: UINT, INT
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index 15ec281..206411a 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -129,8 +129,8 @@ dbusmenu_server_class_init (DbusmenuServerClass *class)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(DbusmenuServerClass, id_prop_update),
NULL, NULL,
- _dbusmenu_server_marshal_VOID__UINT_STRING_POINTER,
- G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_VALUE);
+ _dbusmenu_server_marshal_VOID__INT_STRING_POINTER,
+ G_TYPE_NONE, 3, G_TYPE_INT, G_TYPE_STRING, G_TYPE_VALUE);
/**
DbusmenuServer::id-update:
@arg0: The #DbusmenuServer emitting the signal.