[file-roller] Revert "Fix fr_application_local_command_line memory leak"
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [file-roller] Revert "Fix fr_application_local_command_line memory leak"
- Date: Tue, 27 Sep 2016 05:59:14 +0000 (UTC)
commit b78272c758a7f1835471e3804d1e9340e69bd2a3
Author: Paolo Bacchilega <paobac src gnome org>
Date: Thu Sep 15 10:36:53 2016 +0200
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 files 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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]