SHA256
1
0
forked from pool/loupe

Accepting request 1127338 from GNOME:Factory

- Update to version 45.1:
  + Fix sandbox for image decoding not enabled by default
  + Fix printing on different printer than selected
  + Fix print dialog crashes on confirmation
  + Fix print dialog needs second confirmation inside Flatpaks
  + Fix SVGs sometimes not re-rendering for zoom level
  + Fix animated image formats with variable frame length using
    only one length
  + Fix rotation getting applied twice to HEIF images
- Drop patches fixed upstream:
  + loupe_glycin-loaders_sandbox.patch
  + loupe_print_fix.patch (forwarded request 1126467 from iznogood)

OBS-URL: https://build.opensuse.org/request/show/1127338
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/loupe?expand=0&rev=4
This commit is contained in:
Ana Guerrero 2023-11-19 19:15:23 +00:00 committed by Git OBS Bridge
commit d2b4bd2487
11 changed files with 29 additions and 181 deletions

View File

@ -9,3 +9,4 @@
</physicalmemory>
</hardware>
</constraints>

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="url">https://gitlab.gnome.org/GNOME/loupe.git</param>
<param name="scm">git</param>
<param name="revision">refs/tags/45.0</param>
<param name="revision">refs/tags/45.1</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
@ -17,6 +17,7 @@
</service>
<service name="cargo_vendor" mode="manual">
<param name="srcdir">loupe</param>
<param name="compression">zst</param>
<param name="update">true</param>
</service>
<service name="cargo_audit" mode="manual">

View File

@ -2,4 +2,4 @@
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
directory = "vendor"

View File

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

3
loupe-45.1.obscpio Normal file
View File

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

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Tue Nov 14 20:16:47 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 45.1:
+ Fix sandbox for image decoding not enabled by default
+ Fix printing on different printer than selected
+ Fix print dialog crashes on confirmation
+ Fix print dialog needs second confirmation inside Flatpaks
+ Fix SVGs sometimes not re-rendering for zoom level
+ Fix animated image formats with variable frame length using
only one length
+ Fix rotation getting applied twice to HEIF images
- Drop patches fixed upstream:
+ loupe_glycin-loaders_sandbox.patch
+ loupe_print_fix.patch
-------------------------------------------------------------------
Tue Nov 7 09:08:27 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -1,4 +1,4 @@
name: loupe
version: 45.0
mtime: 1694956400
commit: ebe9141f52dbcd39eef67e185273ea4438f6e889
version: 45.1
mtime: 1699989855
commit: 23153056aeb6b0afbacec2e6fb2c6022d7a6e9d2

View File

@ -17,7 +17,7 @@
Name: loupe
Version: 45.0
Version: 45.1
Release: 0
Summary: A simple image viewer application
License: GPL-3.0-or-later
@ -26,11 +26,6 @@ Source: %{name}-%{version}.tar.zst
Source2: vendor.tar.zst
Source3: cargo_config
# PATCH-FIX-UPSTREAM loupe_glycin-loaders_sandbox.patch -- Enable the glycin-loaders sandbox
Patch0: loupe_glycin-loaders_sandbox.patch
# PATCH-FIX-UPSTREAM loupe_print_fix.patch -- print: Use same print operation throughout
Patch2: loupe_print_fix.patch
BuildRequires: appstream-glib
BuildRequires: cargo-packaging >= 1.2.0+3
BuildRequires: desktop-file-utils

View File

@ -1,27 +0,0 @@
From afc1e32c7dc0d36166f8cb200fe37ee9fbc39c02 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Tue, 26 Sep 2023 17:07:02 -0500
Subject: [PATCH] Enable the glycin-loaders sandbox
We (presumably accidentally) shipped with the sandbox disabled by
default, so it's not doing any good. Enable it. Developers who want to
disable the sandbox can easily set the build option.
---
meson_options.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meson_options.txt b/meson_options.txt
index 2a4698c7..70fa9645 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -13,4 +13,5 @@ option(
'disable-glycin-sandbox',
type: 'boolean',
description: 'Disable sandboxing of image loaders in glycin. Only intended for development purposes.',
-)
\ No newline at end of file
+ value: false
+)
--
GitLab

View File

@ -1,138 +0,0 @@
From 3a11e9c9ce72e36c6124e9dc2f8379df4f004ea9 Mon Sep 17 00:00:00 2001
From: Sophie Herold <sophie@hemio.de>
Date: Thu, 28 Sep 2023 12:58:46 +0200
Subject: [PATCH] print: Use same print operation throughout
Use a hack to wait in print signal for the layout dialog to be ready
instead of creating a new print operation with the same settings.
This works around a bug in GTK where the wrong printer gets selected
(issue #243), as well as the print dialog getting shown twice when
using the print portal (part of #61).
---
src/widgets/print.rs | 60 +++++++++++++++++++++++++-------------------
1 file changed, 34 insertions(+), 26 deletions(-)
diff --git a/src/widgets/print.rs b/src/widgets/print.rs
index 2ad0efb4..7c8a4657 100644
--- a/src/widgets/print.rs
+++ b/src/widgets/print.rs
@@ -53,6 +53,14 @@ enum VAlignment {
Bottom,
}
+#[derive(Debug, Clone, Copy, Default)]
+enum Status {
+ #[default]
+ Prepare,
+ Print,
+ Abort,
+}
+
/// Scope guard for non user ui changes
///
/// Creates a context in which other signals know that changes are not user input.
@@ -250,6 +258,8 @@ mod imp {
pub(super) orientation: RefCell<String>,
pub(super) ui_updates: UiUpdates,
+
+ pub(super) status: Cell<Status>,
}
#[glib::object_subclass]
@@ -291,6 +301,11 @@ mod imp {
obj.set_transient_for(Some(&obj.parent_window()));
obj.set_modal(true);
+ obj.connect_close_request(|obj| {
+ obj.imp().status.set(Status::Abort);
+ glib::Propagation::Proceed
+ });
+
self.alignment
.connect_selected_notify(glib::clone!(@weak obj => move |_| obj.draw_preview()));
@@ -341,7 +356,7 @@ mod imp {
});
self.print_operation.connect_draw_page(glib::clone!(@weak obj =>
- move |operation, _context, _page_nr| {
+ move |operation, context, _page_nr| {
let imp = obj.imp();
let basename = obj
@@ -394,8 +409,6 @@ mod imp {
}
}
- imp.print_operation.cancel();
-
let orientation = match obj.page_setup().orientation() {
gtk::PageOrientation::Portrait => "portrait",
gtk::PageOrientation::Landscape => "landscape",
@@ -404,6 +417,23 @@ mod imp {
obj.set_orientation(orientation);
obj.present();
+
+ loop {
+ match imp.status.get() {
+ Status::Prepare => {
+ glib::MainContext::default().iteration(true);
+ }
+ Status::Print => {
+ log::debug!("Layout dialog confirmed");
+ obj.draw_page(context);
+ break;}
+ Status::Abort => {
+ log::debug!("Layout dialog aborted");
+ imp.print_operation.cancel();
+ break;
+ }
+ }
+ }
}
));
}
@@ -802,8 +832,6 @@ impl LpPrint {
fn print(&self) {
self.close();
- let print_operation = gtk::PrintOperation::new();
-
let print_settings = self.print_operation().print_settings();
if let Some(print_settings) = &print_settings {
@@ -812,27 +840,7 @@ impl LpPrint {
}
}
- print_operation.set_print_settings(print_settings.as_ref());
- print_operation.set_default_page_setup(Some(&self.print_operation().default_page_setup()));
-
- print_operation.connect_begin_print(move |op, _ctx| {
- op.set_n_pages(1);
- });
-
- print_operation.connect_draw_page(
- glib::clone!(@weak self as obj => move |_operation, context, _page_nr| {
- obj.draw_page(context);
- }),
- );
-
- let res = print_operation.run(
- gtk::PrintOperationAction::Print,
- Some(&self.parent_window()),
- );
-
- if let Err(err) = res {
- log::warn!("Print error: {err}");
- }
+ self.imp().status.set(Status::Print);
}
/// Draw PDF for printing
--
GitLab

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7964e6fa4e04bd0a4d5524f077a65f2bb6ccb92fa1b60c530349fa59f975389
size 24950907
oid sha256:f21e38ccb216787b8a1047f72fa8d9c663da485138ac38eb4e7ef76135d2e884
size 24995610