Accepting request 460772 from GNOME:Next
New stable release, please fwd to GF/TW OBS-URL: https://build.opensuse.org/request/show/460772 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/file-roller?expand=0&rev=237
This commit is contained in:
parent
a9a4ddd6f2
commit
de4345c65f
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:27158cdcc366f82100312b1e0a02ad1f3aa7a6c32d4eba68fc5a2a8829685df9
|
|
||||||
size 1423992
|
|
3
file-roller-3.22.3.tar.xz
Normal file
3
file-roller-3.22.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:de858640632a0e22769b6b73d5b98527f3cfc2c83f99692063e352e41d533505
|
||||||
|
size 1423048
|
@ -1,92 +0,0 @@
|
|||||||
From a9d765035f5b0786834fa6311e3780788484411a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bacchilega <paobac@src.gnome.org>
|
|
||||||
Date: Sat, 18 Feb 2017 08:54:53 +0100
|
|
||||||
Subject: fixed crash after extracting a file
|
|
||||||
|
|
||||||
[bug #778846]
|
|
||||||
---
|
|
||||||
src/fr-window.c | 33 ++++++++++++++++++++++++++++-----
|
|
||||||
1 file changed, 28 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/fr-window.c b/src/fr-window.c
|
|
||||||
index 3d63fe0..1fd803b 100644
|
|
||||||
--- a/src/fr-window.c
|
|
||||||
+++ b/src/fr-window.c
|
|
||||||
@@ -6432,7 +6432,7 @@ extract_data_new (FrWindow *window,
|
|
||||||
ExtractData *edata;
|
|
||||||
|
|
||||||
edata = g_new0 (ExtractData, 1);
|
|
||||||
- edata->window = window;
|
|
||||||
+ edata->window = _g_object_ref (window);
|
|
||||||
edata->file_list = _g_string_list_dup (file_list);
|
|
||||||
edata->destination = _g_object_ref (destination);
|
|
||||||
edata->skip_older = skip_older;
|
|
||||||
@@ -6454,6 +6454,7 @@ extract_data_free (ExtractData *edata)
|
|
||||||
|
|
||||||
_g_string_list_free (edata->file_list);
|
|
||||||
_g_object_unref (edata->destination);
|
|
||||||
+ _g_object_unref (edata->window);
|
|
||||||
g_free (edata->base_dir);
|
|
||||||
|
|
||||||
g_free (edata);
|
|
||||||
@@ -6597,6 +6598,29 @@ _fr_window_archive_extract_from_edata (FrWindow *window,
|
|
||||||
static void _fr_window_ask_overwrite_dialog (OverwriteData *odata);
|
|
||||||
|
|
||||||
|
|
||||||
+static OverwriteData *
|
|
||||||
+overwrite_data_new (FrWindow *window)
|
|
||||||
+{
|
|
||||||
+ OverwriteData *odata;
|
|
||||||
+
|
|
||||||
+ odata = g_new0 (OverwriteData, 1);
|
|
||||||
+ odata->window = _g_object_ref (window);
|
|
||||||
+ odata->edata = NULL;
|
|
||||||
+ odata->current_file = NULL;
|
|
||||||
+ odata->extract_all = FALSE;
|
|
||||||
+
|
|
||||||
+ return odata;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+overwrite_data_free (OverwriteData *odata)
|
|
||||||
+{
|
|
||||||
+ _g_object_unref (odata->window);
|
|
||||||
+ g_free (odata);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
/* remove the file from the list to extract */
|
|
||||||
static void
|
|
||||||
overwrite_data_skip_current (OverwriteData *odata)
|
|
||||||
@@ -6644,7 +6668,7 @@ overwrite_dialog_response_cb (GtkDialog *dialog,
|
|
||||||
|
|
||||||
if (do_not_extract) {
|
|
||||||
fr_window_batch_stop (odata->window);
|
|
||||||
- g_free (odata);
|
|
||||||
+ overwrite_data_free (odata);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -6775,7 +6799,7 @@ _fr_window_ask_overwrite_dialog (OverwriteData *odata)
|
|
||||||
fr_window_dnd_extraction_finished (odata->window, TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- g_free (odata);
|
|
||||||
+ overwrite_data_free (odata);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6903,8 +6927,7 @@ _fr_window_archive_extract_from_edata_maybe (FrWindow *window,
|
|
||||||
if (edata->overwrite == FR_OVERWRITE_ASK) {
|
|
||||||
OverwriteData *odata;
|
|
||||||
|
|
||||||
- odata = g_new0 (OverwriteData, 1);
|
|
||||||
- odata->window = window;
|
|
||||||
+ odata = overwrite_data_new (window);
|
|
||||||
odata->edata = edata;
|
|
||||||
odata->extract_all = (edata->file_list == NULL) || (g_list_length (edata->file_list) == window->archive->files->len);
|
|
||||||
if (edata->file_list == NULL)
|
|
||||||
--
|
|
||||||
cgit v0.12
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From 78a608ae8d0058fdf202da5b561c1cbdd937ad99 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bacchilega <paobac@src.gnome.org>
|
|
||||||
Date: Sat, 18 Feb 2017 08:52:54 +0100
|
|
||||||
Subject: libarchive: don't convert null strings to utf8
|
|
||||||
|
|
||||||
---
|
|
||||||
src/fr-archive-libarchive.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c
|
|
||||||
index 3ac1004..70c07e2 100644
|
|
||||||
--- a/src/fr-archive-libarchive.c
|
|
||||||
+++ b/src/fr-archive-libarchive.c
|
|
||||||
@@ -321,7 +321,7 @@ _g_error_new_from_archive_error (const char *s)
|
|
||||||
char *msg;
|
|
||||||
GError *error;
|
|
||||||
|
|
||||||
- msg = g_locale_to_utf8 (s, -1, NULL, NULL, NULL);
|
|
||||||
+ msg = (s != NULL) ? g_locale_to_utf8 (s, -1, NULL, NULL, NULL) : NULL;
|
|
||||||
if (msg == NULL)
|
|
||||||
msg = g_strdup ("Fatal error");
|
|
||||||
error = g_error_new_literal (FR_ERROR, FR_ERROR_COMMAND_ERROR, msg);
|
|
||||||
--
|
|
||||||
cgit v0.12
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
|||||||
From 347a917c0504a9c5ccfd0b8041e40d56ec9bd74a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paolo Bacchilega <paobac@src.gnome.org>
|
|
||||||
Date: Sat, 18 Feb 2017 09:24:18 +0100
|
|
||||||
Subject: show the 'open destination' dialog only when using --notify
|
|
||||||
|
|
||||||
and only for the last extracted archive
|
|
||||||
---
|
|
||||||
src/fr-application.c | 13 ++++++++-----
|
|
||||||
src/fr-window.c | 10 ++++++----
|
|
||||||
src/fr-window.h | 8 +++++---
|
|
||||||
3 files changed, 19 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/fr-application.c b/src/fr-application.c
|
|
||||||
index 98aac18..025c775 100644
|
|
||||||
--- a/src/fr-application.c
|
|
||||||
+++ b/src/fr-application.c
|
|
||||||
@@ -296,7 +296,7 @@ handle_method_call (GDBusConnection *connection,
|
|
||||||
g_signal_connect (window, "ready", G_CALLBACK (window_ready_cb), invocation);
|
|
||||||
|
|
||||||
fr_window_batch_new (FR_WINDOW (window), C_("Window title", "Extract archive"));
|
|
||||||
- fr_window_batch__extract (FR_WINDOW (window), archive, destination);
|
|
||||||
+ fr_window_batch__extract (FR_WINDOW (window), archive, destination, use_progress_dialog);
|
|
||||||
fr_window_batch_append_action (FR_WINDOW (window), FR_BATCH_ACTION_QUIT, NULL, NULL);
|
|
||||||
fr_window_batch_start (FR_WINDOW (window));
|
|
||||||
|
|
||||||
@@ -322,7 +322,7 @@ handle_method_call (GDBusConnection *connection,
|
|
||||||
g_signal_connect (window, "ready", G_CALLBACK (window_ready_cb), invocation);
|
|
||||||
|
|
||||||
fr_window_batch_new (FR_WINDOW (window), C_("Window title", "Extract archive"));
|
|
||||||
- fr_window_batch__extract_here (FR_WINDOW (window), archive);
|
|
||||||
+ fr_window_batch__extract_here (FR_WINDOW (window), archive, use_progress_dialog);
|
|
||||||
fr_window_batch_append_action (FR_WINDOW (window), FR_BATCH_ACTION_QUIT, NULL, NULL);
|
|
||||||
fr_window_batch_start (FR_WINDOW (window));
|
|
||||||
|
|
||||||
@@ -604,13 +604,16 @@ fr_application_command_line (GApplication *application,
|
|
||||||
|
|
||||||
fr_window_batch_new (FR_WINDOW (window), C_("Window title", "Extract archive"));
|
|
||||||
while ((archive = remaining_args[i++]) != NULL) {
|
|
||||||
- GFile *file;
|
|
||||||
+ GFile *file;
|
|
||||||
+ gboolean last_archive;
|
|
||||||
|
|
||||||
file = g_application_command_line_create_file_for_arg (command_line, archive);
|
|
||||||
+ last_archive = (remaining_args[i] == NULL);
|
|
||||||
+
|
|
||||||
if (arg_extract_here == 1)
|
|
||||||
- fr_window_batch__extract_here (FR_WINDOW (window), file);
|
|
||||||
+ fr_window_batch__extract_here (FR_WINDOW (window), file, arg_notify && last_archive);
|
|
||||||
else
|
|
||||||
- fr_window_batch__extract (FR_WINDOW (window), file, extraction_destination);
|
|
||||||
+ fr_window_batch__extract (FR_WINDOW (window), file, extraction_destination, arg_notify && last_archive);
|
|
||||||
|
|
||||||
g_object_unref (file);
|
|
||||||
}
|
|
||||||
diff --git a/src/fr-window.c b/src/fr-window.c
|
|
||||||
index 1fd803b..bbddde7 100644
|
|
||||||
--- a/src/fr-window.c
|
|
||||||
+++ b/src/fr-window.c
|
|
||||||
@@ -9819,7 +9819,8 @@ fr_window_batch_get_title (FrWindow *window)
|
|
||||||
|
|
||||||
void
|
|
||||||
fr_window_batch__extract_here (FrWindow *window,
|
|
||||||
- GFile *archive)
|
|
||||||
+ GFile *archive,
|
|
||||||
+ gboolean ask_to_open_destination)
|
|
||||||
{
|
|
||||||
g_return_if_fail (window != NULL);
|
|
||||||
g_return_if_fail (archive != NULL);
|
|
||||||
@@ -9837,7 +9838,7 @@ fr_window_batch__extract_here (FrWindow *window,
|
|
||||||
FALSE,
|
|
||||||
FR_OVERWRITE_ASK,
|
|
||||||
FALSE,
|
|
||||||
- _fr_window_get_ask_to_open_destination (window),
|
|
||||||
+ ask_to_open_destination,
|
|
||||||
TRUE),
|
|
||||||
(GFreeFunc) extract_data_free);
|
|
||||||
fr_window_batch_append_action (window,
|
|
||||||
@@ -9850,7 +9851,8 @@ fr_window_batch__extract_here (FrWindow *window,
|
|
||||||
void
|
|
||||||
fr_window_batch__extract (FrWindow *window,
|
|
||||||
GFile *archive,
|
|
||||||
- GFile *destination)
|
|
||||||
+ GFile *destination,
|
|
||||||
+ gboolean ask_to_open_destination)
|
|
||||||
{
|
|
||||||
g_return_if_fail (window != NULL);
|
|
||||||
g_return_if_fail (archive != NULL);
|
|
||||||
@@ -9869,7 +9871,7 @@ fr_window_batch__extract (FrWindow *window,
|
|
||||||
FALSE,
|
|
||||||
FR_OVERWRITE_ASK,
|
|
||||||
FALSE,
|
|
||||||
- _fr_window_get_ask_to_open_destination (window),
|
|
||||||
+ ask_to_open_destination,
|
|
||||||
FALSE),
|
|
||||||
(GFreeFunc) extract_data_free);
|
|
||||||
else
|
|
||||||
diff --git a/src/fr-window.h b/src/fr-window.h
|
|
||||||
index 4ea0f4e..7bbffec 100644
|
|
||||||
--- a/src/fr-window.h
|
|
||||||
+++ b/src/fr-window.h
|
|
||||||
@@ -306,10 +306,12 @@ void fr_window_batch_resume (FrWindow *window);
|
|
||||||
gboolean fr_window_is_batch_mode (FrWindow *window);
|
|
||||||
void fr_window_batch__extract (FrWindow *window,
|
|
||||||
GFile *archive,
|
|
||||||
- GFile *destination);
|
|
||||||
+ GFile *destination,
|
|
||||||
+ gboolean ask_to_open_destination);
|
|
||||||
void fr_window_batch__extract_here (FrWindow *window,
|
|
||||||
- GFile *archive);
|
|
||||||
-void fr_window_batch__add_files (FrWindow *window,
|
|
||||||
+ GFile *archive,
|
|
||||||
+ gboolean ask_to_open_destination);
|
|
||||||
+void fr_window_batch__add_files (FrWindow *window,
|
|
||||||
GFile *archive,
|
|
||||||
GList *file_list);
|
|
||||||
void fr_window_destroy_with_error_dialog (FrWindow *window);
|
|
||||||
--
|
|
||||||
cgit v0.12
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 27 20:37:46 UTC 2017 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 3.22.3:
|
||||||
|
+ Fixed crash after extracting a file (bgo#778846).
|
||||||
|
+ Updated translations.
|
||||||
|
- Drop file-roller-open-dest-dialog-only-when-using-notify.patch,
|
||||||
|
file-roller-libarchive-dont-convert-null-strings.patch and
|
||||||
|
file-roller-fix-crash-after-extracting.patch: Fixed upstream.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Feb 19 10:59:10 UTC 2017 - zaitor@opensuse.org
|
Sun Feb 19 10:59:10 UTC 2017 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: file-roller
|
Name: file-roller
|
||||||
Version: 3.22.2
|
Version: 3.22.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: An Archive Manager for GNOME
|
Summary: An Archive Manager for GNOME
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
@ -28,12 +28,6 @@ Source: http://download.gnome.org/sources/file-roller/3.22/%{name}-%{ver
|
|||||||
Patch0: file-roller-3.4-change-archiver-priority.patch
|
Patch0: file-roller-3.4-change-archiver-priority.patch
|
||||||
# PATCH-FEATURE-OPENSUSE file-roller-pkg-match.patch bnc#696530 dimstar@opensuse.org -- List package match names for automatic installation using PK.
|
# PATCH-FEATURE-OPENSUSE file-roller-pkg-match.patch bnc#696530 dimstar@opensuse.org -- List package match names for automatic installation using PK.
|
||||||
Patch1: file-roller-pkg-match.patch
|
Patch1: file-roller-pkg-match.patch
|
||||||
# PATCH-FIX-UPSTREAM file-roller-libarchive-dont-convert-null-strings.patch zaitor@opensuse.org -- Don't convert null strings to utf8
|
|
||||||
Patch2: file-roller-libarchive-dont-convert-null-strings.patch
|
|
||||||
# PATCH-FIX-UPSTREAM file-roller-fix-crash-after-extracting.patch bgo#778846 boo#1022082 zaitor@opensuse.org -- Fix a crash after extracting a file
|
|
||||||
Patch3: file-roller-fix-crash-after-extracting.patch
|
|
||||||
# PATCH-FIX-UPSTREAM file-roller-open-dest-dialog-only-when-using-notify.patch zaitor@opensuse.org -- show the 'open destination' dialog only when using --notify
|
|
||||||
Patch4: file-roller-open-dest-dialog-only-when-using-notify.patch
|
|
||||||
|
|
||||||
# Needed for directory ownership
|
# Needed for directory ownership
|
||||||
BuildRequires: dbus-1
|
BuildRequires: dbus-1
|
||||||
@ -94,9 +88,6 @@ contained in the archive, and extract files from the archive.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch0
|
%patch0
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%if !0%{?is_opensuse}
|
%if !0%{?is_opensuse}
|
||||||
translation-update-upstream
|
translation-update-upstream
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user