parent
619e5d8b01
commit
a40a0ff87a
@ -1,60 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
Loading…
Reference in new issue