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:
Dominique Leuenberger 2017-02-28 21:39:17 +00:00 committed by Git OBS Bridge
parent a9a4ddd6f2
commit de4345c65f
7 changed files with 14 additions and 249 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:27158cdcc366f82100312b1e0a02ad1f3aa7a6c32d4eba68fc5a2a8829685df9
size 1423992

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de858640632a0e22769b6b73d5b98527f3cfc2c83f99692063e352e41d533505
size 1423048

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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