From d9010735a156c9ff91b637a9d78ac360cdefda323db38af9628e805c4f9734f7 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 17 Nov 2023 15:46:59 +0000 Subject: [PATCH] Accepting request 1126467 from GNOME:Next - 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 OBS-URL: https://build.opensuse.org/request/show/1126467 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/loupe?expand=0&rev=16 --- _constraints | 1 + _service | 3 +- cargo_config | 2 +- loupe-45.0.obscpio | 3 - loupe-45.1.obscpio | 3 + loupe.changes | 16 ++++ loupe.obsinfo | 6 +- loupe.spec | 7 +- loupe_glycin-loaders_sandbox.patch | 27 ------ loupe_print_fix.patch | 138 ----------------------------- vendor.tar.zst | 4 +- 11 files changed, 29 insertions(+), 181 deletions(-) delete mode 100644 loupe-45.0.obscpio create mode 100644 loupe-45.1.obscpio delete mode 100644 loupe_glycin-loaders_sandbox.patch delete mode 100644 loupe_print_fix.patch diff --git a/_constraints b/_constraints index 63bed34..0be0f88 100644 --- a/_constraints +++ b/_constraints @@ -9,3 +9,4 @@ + diff --git a/_service b/_service index b1634c1..2db5ca9 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ https://gitlab.gnome.org/GNOME/loupe.git git - refs/tags/45.0 + refs/tags/45.1 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 @@ -17,6 +17,7 @@ loupe + zst true diff --git a/cargo_config b/cargo_config index 6fb4ff4..97852b5 100644 --- a/cargo_config +++ b/cargo_config @@ -2,4 +2,4 @@ replace-with = "vendored-sources" [source.vendored-sources] -directory = "vendor" \ No newline at end of file +directory = "vendor" diff --git a/loupe-45.0.obscpio b/loupe-45.0.obscpio deleted file mode 100644 index b5e8612..0000000 --- a/loupe-45.0.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5eb70678aea08c32e88d00d45334b1ea8fd28bbe31080e34a5a9edd0b195df6b -size 1452044 diff --git a/loupe-45.1.obscpio b/loupe-45.1.obscpio new file mode 100644 index 0000000..ec51c71 --- /dev/null +++ b/loupe-45.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0cbb9095620d5a265cf140b5eb6df2f85eabe18853f1c7e876d43f72dd6853e +size 1522188 diff --git a/loupe.changes b/loupe.changes index 6aa4ba0..4f63da8 100644 --- a/loupe.changes +++ b/loupe.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Nov 14 20:16:47 UTC 2023 - Bjørn Lie + +- 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 diff --git a/loupe.obsinfo b/loupe.obsinfo index 0f2914c..b1db515 100644 --- a/loupe.obsinfo +++ b/loupe.obsinfo @@ -1,4 +1,4 @@ name: loupe -version: 45.0 -mtime: 1694956400 -commit: ebe9141f52dbcd39eef67e185273ea4438f6e889 +version: 45.1 +mtime: 1699989855 +commit: 23153056aeb6b0afbacec2e6fb2c6022d7a6e9d2 diff --git a/loupe.spec b/loupe.spec index 260dcd5..ff4c775 100644 --- a/loupe.spec +++ b/loupe.spec @@ -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 diff --git a/loupe_glycin-loaders_sandbox.patch b/loupe_glycin-loaders_sandbox.patch deleted file mode 100644 index bd0b5c3..0000000 --- a/loupe_glycin-loaders_sandbox.patch +++ /dev/null @@ -1,27 +0,0 @@ -From afc1e32c7dc0d36166f8cb200fe37ee9fbc39c02 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -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 - diff --git a/loupe_print_fix.patch b/loupe_print_fix.patch deleted file mode 100644 index 0d3c6f1..0000000 --- a/loupe_print_fix.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 3a11e9c9ce72e36c6124e9dc2f8379df4f004ea9 Mon Sep 17 00:00:00 2001 -From: Sophie Herold -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, - - pub(super) ui_updates: UiUpdates, -+ -+ pub(super) status: Cell, - } - - #[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 - diff --git a/vendor.tar.zst b/vendor.tar.zst index f0a402d..b8a4899 100644 --- a/vendor.tar.zst +++ b/vendor.tar.zst @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7964e6fa4e04bd0a4d5524f077a65f2bb6ccb92fa1b60c530349fa59f975389 -size 24950907 +oid sha256:f21e38ccb216787b8a1047f72fa8d9c663da485138ac38eb4e7ef76135d2e884 +size 24995610