You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.1 KiB
61 lines
2.1 KiB
From 75c8032b4fd0cd347437422bb80cbe9b6a89de71 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Bacchilega <paobac@src.gnome.org>
|
|
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
|
|
|