From 30524bf1386aa434dffc9725f794d7ca3cbf0386 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Mon, 14 Apr 2014 13:01:31 +0100 Subject: [PATCH] Update to 2.40.0 --- ...erClient-keep-the-manager-alive-whil.patch | 87 ------------------- glib2.spec | 13 ++- sources | 2 +- 3 files changed, 7 insertions(+), 95 deletions(-) delete mode 100644 0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch diff --git a/0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch b/0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch deleted file mode 100644 index 48a8c51..0000000 --- a/0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 1300108e0c50e70d5414c195649ad41419074e1a Mon Sep 17 00:00:00 2001 -From: Rui Matos -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 - diff --git a/glib2.spec b/glib2.spec index b409481..3587a01 100644 --- a/glib2.spec +++ b/glib2.spec @@ -2,15 +2,13 @@ Summary: A library of handy utility functions Name: glib2 -Version: 2.38.2 -Release: 2%{?dist} +Version: 2.40.0 +Release: 1%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org #VCS: git:git://git.gnome.org/glib -Source: http://download.gnome.org/sources/glib/2.38/glib-%{version}.tar.xz - -Patch0: 0001-GDBusObjectManagerClient-keep-the-manager-alive-whil.patch +Source: http://download.gnome.org/sources/glib/2.40/glib-%{version}.tar.xz BuildRequires: pkgconfig BuildRequires: gettext @@ -78,8 +76,6 @@ the functionality of the installed glib2 package. %prep %setup -q -n glib-%{version} -%patch0 -p1 - # Workaround wrong gtk-doc.make timestamp # https://bugzilla.gnome.org/show_bug.cgi?id=700350 touch -r Makefile.am gtk-doc.make @@ -209,6 +205,9 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules %{_datadir}/installed-tests %changelog +* Mon Apr 14 2014 Richard Hughes - 2.40.0-1 +- Update to 2.40.0 + * Wed Nov 27 2013 Rui Matos - 2.38.2-2 - Add upstream patch for https://bugzilla.gnome.org/show_bug.cgi?id=719402 - Resolves: rhbz#1035423 - Use after free causes critical warnings in g-s-d, potential crasher diff --git a/sources b/sources index c7818a2..8d8b91e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -26d1d08e478fc48c181ca8be44f5b69f glib-2.38.2.tar.xz +05fb7cb17eacbc718e90366a1eae60d9 glib-2.40.0.tar.xz