From 38c1ca84770b2d20d7bc5ce302e0d04d058819dc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Oct 29 2009 23:21:38 +0000 Subject: fix patch name --- diff --git a/empathy.spec b/empathy.spec index b755cd8..9be20d0 100644 --- a/empathy.spec +++ b/empathy.spec @@ -33,8 +33,10 @@ Patch1: %{name}-broken-pkgconfig.patch # http://bugzilla.gnome.org/show_bug.cgi?id=592853 Patch3: presence-icons.patch Patch5: %{name}-broken-nm.patch -# upstream fix +# upstream fix: https://bugzilla.gnome.org/show_bug.cgi?id=599431 Patch6: escape-notifications.patch +# upstream fix: https://bugzilla.gnome.org/show_bug.cgi?id=600023 +Patch7: refcount-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -140,6 +142,7 @@ bindings to the libempathy and libempathy-gtk libraries, respectively. %patch3 -p1 -b .presence-icons %patch5 -p1 -b .nm %patch6 -p1 -b .escape-notifications +%patch7 -p1 -b .refcounting-fix # force these to be regenerated rm data/empathy.desktop @@ -242,6 +245,7 @@ fi %changelog * Thu Oct 29 2009 Matthias Clasen - 2.28.1.1-3 - Escape notifications +- Fix a crash due to refcounting issues * Mon Oct 26 2009 Brian Pepple - 2.28.1.1-2 - Disable panel applets, since they are unmaintained and being dropped from Empathy. diff --git a/refcount-fix.patch b/refcount-fix.patch new file mode 100644 index 0000000..5002edc --- /dev/null +++ b/refcount-fix.patch @@ -0,0 +1,25 @@ +diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c +index a22704f..339b6c5 100644 +--- a/src/empathy-accounts-dialog.c ++++ b/src/empathy-accounts-dialog.c +@@ -1774,6 +1772,9 @@ do_constructor (GType type, + + dialog_singleton = EMPATHY_ACCOUNTS_DIALOG (retval); + g_object_add_weak_pointer (retval, (gpointer) &dialog_singleton); ++ /* We add an extra reference that we'll release when the dialog is ++ * destroyed (accounts_dialog_destroy_cb) */ ++ g_object_ref (retval); + } + + return retval; +@@ -1912,6 +1913,9 @@ empathy_accounts_dialog_show (GtkWindow *parent, + } + + gtk_window_present (GTK_WINDOW (priv->window)); ++ /* EmpathyAccountsDialog kepts a ref on itself until the dialog is ++ * destroyed so we can release the ref returned by the constructor now. */ ++ g_object_unref (dialog); + + return priv->window; + } +