file-roller/file-roller-revertfix-fr_application_local.patch

61 lines
2.1 KiB
Diff

From b78272c758a7f1835471e3804d1e9340e69bd2a3 Mon Sep 17 00:00:00 2001
From: Paolo Bacchilega <paobac@src.gnome.org>
Date: Thu, 15 Sep 2016 10:36:53 +0200
Subject: 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 43e8e20..a2442d5 100644
--- a/src/fr-application.c
+++ b/src/fr-application.c
@@ -644,19 +644,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);
@@ -669,6 +671,7 @@ fr_application_local_command_line (GApplication *application,
}
g_option_context_free (context);
+ g_strfreev (local_argv);
return handled_locally;
}
--
cgit v0.12