summaryrefslogtreecommitdiffstats
path: root/extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch')
-rw-r--r--extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch b/extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch
new file mode 100644
index 000000000..246b85550
--- /dev/null
+++ b/extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch
@@ -0,0 +1,40 @@
+From 3e0828f57c3925ea9b63d22ab82d991a0fea0536 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Thu, 02 Jun 2011 12:49:51 +0000
+Subject: Fix regression in marshalling objects as object paths
+
+This regressed while fixing fd.o #36811. NetworkManager apparently uses
+this idiom.
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37852
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628890
+Tested-by: Michael Biebl <biebl@debian.org>
+Reviewed-by: Colin Walters <walters@verbum.org>
+---
+diff --git a/dbus/dbus-gobject.c b/dbus/dbus-gobject.c
+index 3b0bd17..7ee0b4f 100644
+--- a/dbus/dbus-gobject.c
++++ b/dbus/dbus-gobject.c
+@@ -3049,16 +3049,16 @@ out:
+ const char *
+ _dbus_gobject_get_path (GObject *obj)
+ {
+- GSList *registrations;
++ ObjectExport *oe;
+ ObjectRegistration *o;
+
+- registrations = g_object_get_data (obj, "dbus_glib_object_registrations");
++ oe = g_object_get_data (obj, "dbus_glib_object_registrations");
+
+- if (registrations == NULL)
++ if (oe == NULL || oe->registrations == NULL)
+ return NULL;
+
+ /* First one to have been registered wins */
+- o = registrations->data;
++ o = oe->registrations->data;
+
+ return o->object_path;
+ }
+--
+cgit v0.8.3-6-g21f6