summaryrefslogtreecommitdiffstats
path: root/extra/dbus-glib/bugfix-in-marshalling-objects-as-object-paths.patch
blob: 246b85550137893ac3a31518c1e1a37ed4704419 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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