41 lines
1.2 KiB
Diff
41 lines
1.2 KiB
Diff
|
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
|