Fix crash on quit due to use-after-free (bgo #640215)

This commit is contained in:
Dan Williams 2011-01-21 13:34:07 -06:00
parent 032852b43e
commit c8c24f3333
2 changed files with 49 additions and 1 deletions

View File

@ -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 ()));

View File

@ -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@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@redhat.com> - 2:2.91.5-3
- Clean up python dependencies