From 1912ce7254970b40b168341c62250c3dbf869ae0 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 15 Sep 2016 14:44:58 +0200 Subject: [PATCH] Backport a patch to fix opening multiple file-roller instances https://bugzilla.redhat.com/show_bug.cgi?id=1376391 --- ...plication_local_command_line-memory-.patch | 60 +++++++++++++++++++ file-roller.spec | 8 ++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-Fix-fr_application_local_command_line-memory-.patch diff --git a/0001-Revert-Fix-fr_application_local_command_line-memory-.patch b/0001-Revert-Fix-fr_application_local_command_line-memory-.patch new file mode 100644 index 0000000..40aa183 --- /dev/null +++ b/0001-Revert-Fix-fr_application_local_command_line-memory-.patch @@ -0,0 +1,60 @@ +From 75c8032b4fd0cd347437422bb80cbe9b6a89de71 Mon Sep 17 00:00:00 2001 +From: Paolo Bacchilega +Date: Thu, 15 Sep 2016 10:36:53 +0200 +Subject: [PATCH] Revert "Fix fr_application_local_command_line memory leak" + +This reverts commit 1139c1a6bc1707fdb64e8baa824d19b83c4ff835. + +The commit introduce a bug that prevent opening other archives +when a file-roller window is already open. + +Steps to reproduce the bug: + +* open a Nautilus window +* click on an archive -> file-roller shows the archive content correctly +* click on another archive (without closing the first file-roller window) -> the new file-roller window is +empty +--- + src/fr-application.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/fr-application.c b/src/fr-application.c +index 92e2fc9..06d86a1 100644 +--- a/src/fr-application.c ++++ b/src/fr-application.c +@@ -641,19 +641,21 @@ fr_application_local_command_line (GApplication *application, + char ***arguments, + int *exit_status) + { ++ char **local_argv; + int local_argc; + GOptionContext *context; + GError *error = NULL; + gboolean handled_locally = FALSE; + +- local_argc = g_strv_length (*arguments); ++ local_argv = g_strdupv (*arguments); ++ local_argc = g_strv_length (local_argv); + +- program_argv0 = *arguments[0]; ++ program_argv0 = local_argv[0]; + *exit_status = 0; + + context = fr_application_create_option_context (); + g_option_context_set_ignore_unknown_options (context, TRUE); +- if (! g_option_context_parse (context, &local_argc, arguments, &error)) { ++ if (! g_option_context_parse (context, &local_argc, &local_argv, &error)) { + *exit_status = EXIT_FAILURE; + g_critical ("Failed to parse arguments: %s", error->message); + g_clear_error (&error); +@@ -666,6 +668,7 @@ fr_application_local_command_line (GApplication *application, + } + + g_option_context_free (context); ++ g_strfreev (local_argv); + + return handled_locally; + } +-- +2.7.4 + diff --git a/file-roller.spec b/file-roller.spec index aeb93ea..7d2c7fa 100644 --- a/file-roller.spec +++ b/file-roller.spec @@ -1,6 +1,6 @@ Name: file-roller Version: 3.21.91 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tool for viewing and creating archives License: GPLv2+ @@ -10,6 +10,8 @@ Source0: https://download.gnome.org/sources/%{name}/3.21/%{name}-%{versio # Use the X11 backend instead of Wayland # https://bugzilla.gnome.org/show_bug.cgi?id=770333 Patch0: Use-the-X11-backend-instead-of-Wayland.patch +# Backported from upstream +Patch1: 0001-Revert-Fix-fr_application_local_command_line-memory-.patch BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gtk+-3.0) @@ -37,6 +39,7 @@ such as tar or zip files. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %configure \ @@ -84,6 +87,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/GConf/gsettings/file-roller.convert %changelog +* Thu Sep 15 2016 Kalev Lember - 3.21.91-2 +- Backport a patch to fix opening multiple file-roller instances (1376391) + * Wed Sep 14 2016 Kalev Lember - 3.21.91-1 - Update to 3.21.91 - Don't set group tags