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:
commit
d2b4bd2487
@ -9,3 +9,4 @@
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</constraints>
|
||||
|
||||
|
3
_service
3
_service
@ -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">
|
||||
|
@ -2,4 +2,4 @@
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
||||
directory = "vendor"
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5eb70678aea08c32e88d00d45334b1ea8fd28bbe31080e34a5a9edd0b195df6b
|
||||
size 1452044
|
3
loupe-45.1.obscpio
Normal file
3
loupe-45.1.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e0cbb9095620d5a265cf140b5eb6df2f85eabe18853f1c7e876d43f72dd6853e
|
||||
size 1522188
|
@ -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>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
name: loupe
|
||||
version: 45.0
|
||||
mtime: 1694956400
|
||||
commit: ebe9141f52dbcd39eef67e185273ea4438f6e889
|
||||
version: 45.1
|
||||
mtime: 1699989855
|
||||
commit: 23153056aeb6b0afbacec2e6fb2c6022d7a6e9d2
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d7964e6fa4e04bd0a4d5524f077a65f2bb6ccb92fa1b60c530349fa59f975389
|
||||
size 24950907
|
||||
oid sha256:f21e38ccb216787b8a1047f72fa8d9c663da485138ac38eb4e7ef76135d2e884
|
||||
size 24995610
|
||||
|
Loading…
Reference in New Issue
Block a user