Navigation Menu

Skip to content

Commit

Permalink
Merge branch 'next'
Browse files Browse the repository at this point in the history
  • Loading branch information
Islam Amer committed Jun 6, 2014
2 parents f5aadaa + 6ae8806 commit f95a989
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 8 deletions.
@@ -0,0 +1,87 @@
From 1300108e0c50e70d5414c195649ad41419074e1a Mon Sep 17 00:00:00 2001
From: Rui Matos <tiagomatos@gmail.com>
Date: Wed, 27 Nov 2013 14:32:05 +0100
Subject: [PATCH] GDBusObjectManagerClient: keep the manager alive while firing
signals

Handlers for the signals we emit might unref the object manager. Make
sure we keep it alive until we are done with it.

https://bugzilla.gnome.org/show_bug.cgi?id=719402
---
gio/gdbusobjectmanagerclient.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gio/gdbusobjectmanagerclient.c b/gio/gdbusobjectmanagerclient.c
index d9ccf71..f33ca21 100644
--- a/gio/gdbusobjectmanagerclient.c
+++ b/gio/gdbusobjectmanagerclient.c
@@ -1006,6 +1006,7 @@ signal_cb (GDBusConnection *connection,

//g_debug ("yay, signal_cb %s %s: %s\n", signal_name, object_path, g_variant_print (parameters, TRUE));

+ g_object_ref (manager);
if (g_strcmp0 (interface_name, "org.freedesktop.DBus.Properties") == 0)
{
if (g_strcmp0 (signal_name, "PropertiesChanged") == 0)
@@ -1087,6 +1088,7 @@ signal_cb (GDBusConnection *connection,
g_object_unref (interface);
}
}
+ g_object_unref (manager);

out:
g_clear_object (&object_proxy);
@@ -1243,6 +1245,7 @@ on_notify_g_name_owner (GObject *object,
new_name_owner = g_dbus_proxy_get_name_owner (manager->priv->control_proxy);
manager->priv->name_owner = NULL;

+ g_object_ref (manager);
if (g_strcmp0 (old_name_owner, new_name_owner) != 0)
{
GList *l;
@@ -1319,6 +1322,7 @@ on_notify_g_name_owner (GObject *object,

}
g_free (old_name_owner);
+ g_object_unref (manager);
}

static gboolean
@@ -1543,6 +1547,7 @@ add_interfaces (GDBusObjectManagerClient *manager,
g_mutex_unlock (&manager->priv->lock);

/* now that we don't hold the lock any more, emit signals */
+ g_object_ref (manager);
for (l = interface_added_signals; l != NULL; l = l->next)
{
interface_proxy = G_DBUS_PROXY (l->data);
@@ -1558,8 +1563,8 @@ add_interfaces (GDBusObjectManagerClient *manager,
op);
g_signal_emit_by_name (manager, "object-added", op);
}
+ g_object_unref (manager);
g_object_unref (op);
-
}

static void
@@ -1592,6 +1597,7 @@ remove_interfaces (GDBusObjectManagerClient *manager,
num_interfaces_to_remove = g_strv_length ((gchar **) interface_names);

/* see if we are going to completety remove the object */
+ g_object_ref (manager);
if (num_interfaces_to_remove == num_interfaces)
{
g_object_ref (op);
@@ -1617,6 +1623,7 @@ remove_interfaces (GDBusObjectManagerClient *manager,
}
g_object_unref (op);
}
+ g_object_unref (manager);
out:
;
}
--
1.8.3.1

17 changes: 10 additions & 7 deletions rpm/glib2.spec
Expand Up @@ -3,7 +3,7 @@ Name: glib2
%define keepstatic 1

Summary: A library of handy utility functions
Version: 2.36.4
Version: 2.38.2
Release: 1
Group: System/Libraries
License: LGPLv2+
Expand All @@ -12,9 +12,10 @@ Source0: %{name}-%{version}.tar.xz
Source2: glib2.sh
Source3: glib2.csh
Source4: %{name}-rpmlintrc
Patch0: glib-2.36.3-syslog-message-handler.patch
Patch1: 0001-Add-dev-mmcblk-to-the-list-of-devices-to-be-detected.patch
Patch2: use-mtab-instead-of-fstab.patch
Patch0: 0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch
Patch1: glib-2.36.3-syslog-message-handler.patch
Patch2: 0001-Add-dev-mmcblk-to-the-list-of-devices-to-be-detected.patch
Patch3: use-mtab-instead-of-fstab.patch
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
BuildRequires: pkgconfig(libpcre)
Expand Down Expand Up @@ -60,12 +61,14 @@ version 2 of the GLib library.
%prep
%setup -q -n %{name}-%{version}/upstream

# glib-2.36.3-syslog-message-handler.patch
# 0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch
%patch0 -p1
# 0001-Add-dev-mmcblk-to-the-list-of-devices-to-be-detected.patch
# glib-2.36.3-syslog-message-handler.patch
%patch1 -p1
# use-mtab-instead-of-fstab.patch
# 0001-Add-dev-mmcblk-to-the-list-of-devices-to-be-detected.patch
%patch2 -p1
# use-mtab-instead-of-fstab.patch
%patch3 -p1

%build
# >> build pre
Expand Down
2 changes: 1 addition & 1 deletion upstream
Submodule upstream updated from 1d6cd4 to 96f057

0 comments on commit f95a989

Please sign in to comment.