From c3e59982f16304299eade2fd8f57410bbc241cbb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 21 Aug 2015 18:15:36 -0400 Subject: [PATCH] Fix #1251755 --- 0001-Don-t-destroy-attached-menus.patch | 44 +++++++++++++++++++++++++ file-roller.spec | 18 +++++++--- 2 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 0001-Don-t-destroy-attached-menus.patch diff --git a/0001-Don-t-destroy-attached-menus.patch b/0001-Don-t-destroy-attached-menus.patch new file mode 100644 index 0000000..c8f0beb --- /dev/null +++ b/0001-Don-t-destroy-attached-menus.patch @@ -0,0 +1,44 @@ +From 370756f9a6334d87b98cebc395962712657e595a Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Fri, 21 Aug 2015 17:53:36 -0400 +Subject: [PATCH] Don't destroy attached menus + +The documentation for gtk_menu_attach_to_widget states that +attached menus are destroyed together with their attach_widget, +like child widgets. Destroying them manually leads to bad things, +such as segfaults. + +https://bugzilla.gnome.org/show_bug.cgi?id=753951 +--- + src/fr-window.c | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/src/fr-window.c b/src/fr-window.c +index d27e00f..b9f128f 100644 +--- a/src/fr-window.c ++++ b/src/fr-window.c +@@ -540,21 +540,6 @@ fr_window_free_private_data (FrWindow *window) + _g_string_list_free (window->priv->drag_file_list); + window->priv->drag_file_list = NULL; + +- if (window->priv->file_popup_menu != NULL) { +- gtk_widget_destroy (window->priv->file_popup_menu); +- window->priv->file_popup_menu = NULL; +- } +- +- if (window->priv->folder_popup_menu != NULL) { +- gtk_widget_destroy (window->priv->folder_popup_menu); +- window->priv->folder_popup_menu = NULL; +- } +- +- if (window->priv->sidebar_folder_popup_menu != NULL) { +- gtk_widget_destroy (window->priv->sidebar_folder_popup_menu); +- window->priv->sidebar_folder_popup_menu = NULL; +- } +- + g_free (window->priv->last_location); + + fr_window_free_batch_data (window); +-- +2.5.0 + diff --git a/file-roller.spec b/file-roller.spec index 9cc1aa3..01e886f 100644 --- a/file-roller.spec +++ b/file-roller.spec @@ -1,13 +1,16 @@ Summary: Tool for viewing and creating archives Name: file-roller Version: 3.16.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: Applications/Archiving URL: https://wiki.gnome.org/Apps/FileRoller #VCS: git:git://git.gnome.org/file-roller Source: https://download.gnome.org/sources/%{name}/3.16/%{name}-%{version}.tar.xz +# https://bugzilla.gnome.org/show_bug.cgi?id=753951 +Patch0: 0001-Don-t-destroy-attached-menus.patch + BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(json-glib-1.0) @@ -22,6 +25,10 @@ BuildRequires: intltool BuildRequires: itstool BuildRequires: /usr/bin/appstream-util +# for file triggers +Requires: glib2 >= 2.45.4-2 +Requires: desktop-file-utils >= 0.22-6 + %description File Roller is an application for creating and viewing archives files, @@ -40,6 +47,7 @@ or directories. %prep %setup -q +%patch0 -p1 %build %configure \ @@ -66,20 +74,16 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/org.gnome.FileRoll %post -update-desktop-database &> /dev/null || : touch --no-create %{_datadir}/icons/hicolor &> /dev/null || : %postun -update-desktop-database &> /dev/null || : if [ $1 -eq 0 ]; then touch --no-create %{_datadir}/icons/hicolor &> /dev/null || : gtk-update-icon-cache -q %{_datadir}/icons/hicolor &> /dev/null || : - glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %files -f %{name}.lang %doc README NEWS AUTHORS @@ -101,6 +105,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %changelog +* Fri Aug 21 2015 Matthias Clasen - 3.16.3-2 +- Fix a crash on shutdown (#1251755) +- Rely on file triggers for some things + * Tue Jun 30 2015 David King - 3.16.3-1 - Update to 3.16.3 - Update URL