From b78272c758a7f1835471e3804d1e9340e69bd2a3 Mon Sep 17 00:00:00 2001 From: Paolo Bacchilega 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