[gedit] Fix crash on quit due to use-after-free (bgo #640215)
Daniel Williams
dcbw at fedoraproject.org
Fri Jan 21 19:33:31 UTC 2011
commit c8c24f33339e466db9644bfbcc7c18b8e848455d
Author: Dan Williams <dcbw at redhat.com>
Date: Fri Jan 21 13:34:07 2011 -0600
Fix crash on quit due to use-after-free (bgo #640215)
gedit-deactivate-extensions-on-quit.patch | 39 +++++++++++++++++++++++++++++
gedit.spec | 11 +++++++-
2 files changed, 49 insertions(+), 1 deletions(-)
---
diff --git a/gedit-deactivate-extensions-on-quit.patch b/gedit-deactivate-extensions-on-quit.patch
new file mode 100644
index 0000000..bfbd4d1
--- /dev/null
+++ b/gedit-deactivate-extensions-on-quit.patch
@@ -0,0 +1,39 @@
+diff -up gedit-2.91.5/gedit/gedit-app.c.blah gedit-2.91.5/gedit/gedit-app.c
+--- gedit-2.91.5/gedit/gedit-app.c.blah 2011-01-21 13:17:49.614004002 -0600
++++ gedit-2.91.5/gedit/gedit-app.c 2011-01-21 13:18:23.907004002 -0600
+@@ -123,8 +123,7 @@ gedit_app_dispose (GObject *object)
+
+ if (app->priv->extensions != NULL)
+ {
+- /* Note that unreffing the extensions will automatically remove
+- all extensions which in turn will deactivate the extension */
++ peas_extension_set_call (app->priv->extensions, "deactivate");
+ g_object_unref (app->priv->extensions);
+ app->priv->extensions = NULL;
+ }
+diff -up gedit-2.91.5/gedit/gedit-view.c.blah gedit-2.91.5/gedit/gedit-view.c
+--- gedit-2.91.5/gedit/gedit-view.c.blah 2011-01-21 13:17:43.309003997 -0600
++++ gedit-2.91.5/gedit/gedit-view.c 2011-01-21 13:18:28.103004003 -0600
+@@ -267,8 +267,7 @@ gedit_view_destroy (GtkWidget *widget)
+
+ if (view->priv->extensions != NULL)
+ {
+- /* Note that unreffing the extensions will automatically remove
+- all extensions which in turn will deactivate the extension */
++ peas_extension_set_call (view->priv->extensions, "deactivate");
+ g_object_unref (view->priv->extensions);
+ view->priv->extensions = NULL;
+ }
+diff -up gedit-2.91.5/gedit/gedit-window.c.blah gedit-2.91.5/gedit/gedit-window.c
+--- gedit-2.91.5/gedit/gedit-window.c.blah 2011-01-21 13:17:38.512004003 -0600
++++ gedit-2.91.5/gedit/gedit-window.c 2011-01-21 13:18:31.763004003 -0600
+@@ -266,8 +266,7 @@ gedit_window_dispose (GObject *object)
+ save_window_state (GTK_WIDGET (window));
+ save_panels_state (window);
+
+- /* Note that unreffing the extensions will automatically remove
+- all extensions which in turn will deactivate the extension */
++ peas_extension_set_call (window->priv->extensions, "deactivate");
+ g_object_unref (window->priv->extensions);
+
+ peas_engine_garbage_collect (PEAS_ENGINE (gedit_plugins_engine_get_default ()));
diff --git a/gedit.spec b/gedit.spec
index b7f23c7..ecc189f 100644
--- a/gedit.spec
+++ b/gedit.spec
@@ -11,7 +11,7 @@ Summary: Text editor for the GNOME desktop
Name: gedit
Epoch: 2
Version: 2.91.5
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+ and GFDL
Group: Applications/Editors
#VCS: git:git://git.gnome.org/gedit
@@ -29,6 +29,9 @@ Requires(postun): desktop-file-utils >= %{desktop_file_utils_version}
Patch1: gedit-2.13.90-libdir.patch
%endif
+# http://bugzilla.gnome.org/show_bug.cgi?id=640215
+Patch2: gedit-deactivate-extensions-on-quit.patch
+
# http://bugzilla.gnome.org/show_bug.cgi?id=587053
#Patch3: print-to-file.patch
@@ -90,6 +93,9 @@ Install gedit-devel if you want to write plugins for gedit.
%patch1 -p1 -b .libdir
%endif
+# bgo #640215
+%patch2 -p1 -b .deactivate-extensions
+
#%patch3 -p1 -b .print-to-file
autoreconf -i -f
@@ -163,6 +169,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas
%{_datadir}/gtk-doc
%changelog
+* Fri Jan 21 2011 Dan Williams <dcbw at redhat.com> - 2:2.91.5-4
+- Fix crash on quit due to use-after-free (bgo #640215)
+
* Fri Jan 14 2011 Matthias Clasen <mclasen at redhat.com> - 2:2.91.5-3
- Clean up python dependencies
More information about the scm-commits
mailing list