Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package loupe for openSUSE:Factory checked in at 2024-04-15 20:18:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/loupe (Old) and /work/SRC/openSUSE:Factory/.loupe.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "loupe" Mon Apr 15 20:18:04 2024 rev:8 rq:1167758 version:46.2 Changes: -------- --- /work/SRC/openSUSE:Factory/loupe/loupe.changes 2024-04-04 22:28:19.275867279 +0200 +++ /work/SRC/openSUSE:Factory/.loupe.new.26366/loupe.changes 2024-04-15 20:24:09.541213539 +0200 @@ -1,0 +2,11 @@ +Wed Apr 10 07:09:05 UTC 2024 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 46.2: + + Fix fractional scaling beeing blury by setting + GDK_DEBUG=gl-no-fractional as default. + + Fix exposure times above 0.5 seconds not being displayed + correctly in properties. + + Fix page orientation from print preview dialog is not honored + for actual print. + +------------------------------------------------------------------- Old: ---- loupe-46.1.obscpio New: ---- loupe-46.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ loupe.spec ++++++ --- /var/tmp/diff_new_pack.DjuY4g/_old 2024-04-15 20:24:11.125271860 +0200 +++ /var/tmp/diff_new_pack.DjuY4g/_new 2024-04-15 20:24:11.125271860 +0200 @@ -17,7 +17,7 @@ Name: loupe -Version: 46.1 +Version: 46.2 Release: 0 Summary: A simple image viewer application License: GPL-3.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.DjuY4g/_old 2024-04-15 20:24:11.161273185 +0200 +++ /var/tmp/diff_new_pack.DjuY4g/_new 2024-04-15 20:24:11.165273332 +0200 @@ -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">46.1</param> + <param name="revision">46.2</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ loupe-46.1.obscpio -> loupe-46.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/Cargo.lock new/loupe-46.2/Cargo.lock --- old/loupe-46.1/Cargo.lock 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/Cargo.lock 2024-04-09 22:57:02.000000000 +0200 @@ -989,9 +989,9 @@ [[package]] name = "glycin" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ebfac2819e7c4538c6567742a88d684ac5020f7e6de3d5e3f8578a72b4fbc5c" +checksum = "83b796882a2e7941b643002a859e43bb9647ea69c3c8853cce3db705e88d336b" dependencies = [ "async-fs", "async-global-executor", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/Cargo.toml new/loupe-46.2/Cargo.toml --- old/loupe-46.1/Cargo.toml 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/Cargo.toml 2024-04-09 22:57:02.000000000 +0200 @@ -14,7 +14,7 @@ x11 = ["ashpd/gtk4_x11"] [dependencies] -glycin = { version = "1.0.0" } +glycin = { version = "1.0.2" } anyhow = { version = "1.0.66", features = ["backtrace"] } arc-swap = "1.6.0" async-channel = "2.1.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/NEWS new/loupe-46.2/NEWS --- old/loupe-46.1/NEWS 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/NEWS 2024-04-09 22:57:02.000000000 +0200 @@ -1,3 +1,10 @@ +46.2 +==== + +- Fix fractional scaling beeing blury by setting GDK_DEBUG=gl-no-fractional as default +- Fix exposure times above 0.5 seconds not being displayed correctly in properties +- Fix page orientation from print preview dialog is not honored for actual print + 46.1 ==== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/data/org.gnome.Loupe.metainfo.xml.in.in new/loupe-46.2/data/org.gnome.Loupe.metainfo.xml.in.in --- old/loupe-46.1/data/org.gnome.Loupe.metainfo.xml.in.in 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/data/org.gnome.Loupe.metainfo.xml.in.in 2024-04-09 22:57:02.000000000 +0200 @@ -71,6 +71,11 @@ </categories> <releases> + <release version="46.2" date="2024-04-09"> + <description> + <p>This releases fixed problems with fractional scaling and the output of long exposure times in the image properties. It also makes the page orientation selection in the print preview dialog functional. It also adresses issues with loading some SVGs containing text when using Loupe outside of Flatpak.</p> + </description> + </release> <release version="46.1" date="2024-04-03"> <description> <p>This releases fixed three bugs. When using the "Fill Space" option in the print preview, the print size will now be updated to fill the page again after choosing a different page orientation. PNGs can now be reliably browsed on SMB shares. Switching between images using the mouse's forward/back buttons will no longer use animations to be consitent with the arrow buttons on the keyboard.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/meson.build new/loupe-46.2/meson.build --- old/loupe-46.1/meson.build 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/meson.build 2024-04-09 22:57:02.000000000 +0200 @@ -1,5 +1,5 @@ project('loupe', 'rust', - version: '46.1', + version: '46.2', meson_version: '>= 0.59.0', default_options: [ 'warning_level=2', ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/src/main.rs new/loupe-46.2/src/main.rs --- old/loupe-46.1/src/main.rs 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/src/main.rs 2024-04-09 22:57:02.000000000 +0200 @@ -78,6 +78,12 @@ std::env::set_var("GSK_RENDERER", "gl"); } + // Don't use gl renderer does not properly support fractional scaling + // <https://gitlab.gnome.org/GNOME/loupe/-/issues/346> + if std::env::var("GDK_DEBUG").is_err() { + std::env::set_var("GDK_DEBUG", "gl-no-fractional"); + } + let mut log_builder = env_logger::builder(); log_builder.format_timestamp_millis(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/src/metadata/mod.rs new/loupe-46.2/src/metadata/mod.rs --- old/loupe-46.1/src/metadata/mod.rs 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/src/metadata/mod.rs 2024-04-09 22:57:02.000000000 +0200 @@ -254,10 +254,21 @@ if let Some(exif) = &self.exif { let field = exif.get_field(exif::Tag::ExposureTime, exif::In::PRIMARY)?; if let exif::Value::Rational(rational) = &field.value { - let exposure = format!("{:.0}", 1. / rational.first()?.to_f32()); + let speed = rational.first()?.to_f32(); - // Translators: Unit for exposure time in seconds - return Some(gettext_f("1\u{2215}{}\u{202F}s", [exposure])); + if speed <= 0.5 { + let exposure = format!("{:.0}", 1. / speed); + // Translators: Fractional exposure time (photography) in seconds + return Some(gettext_f("1\u{2215}{}\u{202F}s", [exposure])); + } else { + let exposure = if speed < 5. { + format!("{:.1}", speed) + } else { + format!("{:.0}", speed) + }; + // Translators: Exposure time (photography) in seconds + return Some(gettext_f("{}\u{202F}s", [exposure])); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/src/widgets/drag_overlay.rs new/loupe-46.2/src/widgets/drag_overlay.rs --- old/loupe-46.1/src/widgets/drag_overlay.rs 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/src/widgets/drag_overlay.rs 2024-04-09 22:57:02.000000000 +0200 @@ -25,9 +25,10 @@ use crate::deps::*; mod imp { + use std::cell::OnceCell; + use adw::subclass::prelude::*; use glib::{ParamSpec, Properties, Value}; - use std::cell::OnceCell; use super::*; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/loupe-46.1/src/widgets/print.rs new/loupe-46.2/src/widgets/print.rs --- old/loupe-46.1/src/widgets/print.rs 2024-04-03 01:42:31.000000000 +0200 +++ new/loupe-46.2/src/widgets/print.rs 2024-04-09 22:57:02.000000000 +0200 @@ -358,8 +358,17 @@ op.set_n_pages(1); }); - self.print_operation.connect_draw_page(glib::clone!(@weak obj => - move |operation, context, _page_nr| { + self.print_operation.connect_request_page_setup( + glib::clone!(@weak obj =>move |operation, _context, nr, setup| { + if nr != 0 { + log::error!("Unexpected page number {nr}"); + return; + } + + // Since we already have explicit per page setups here, we have to use this to + // set values. The modules uses the default page setup everywhere. + obj.print_operation().set_default_page_setup(Some(setup)); + let imp = obj.imp(); let basename = obj @@ -394,8 +403,7 @@ let size_unit = obj.size_unit(); imp.width.set_value( - size_unit - .round(obj.original_size().0 as f64 * obj.width_unit_factor()), + size_unit.round(obj.original_size().0 as f64 * obj.width_unit_factor()), ); // Default to inch for USA and Liberia @@ -424,13 +432,14 @@ loop { match imp.status.get() { - Status::Prepare => { + Status::Prepare => { glib::MainContext::default().iteration(true); - } + } Status::Print => { log::debug!("Layout dialog confirmed"); - obj.draw_page(context); - break;} + // Actual printing will happen in draw-page signal + break; + } Status::Abort => { log::debug!("Layout dialog aborted"); imp.print_operation.cancel(); @@ -438,8 +447,15 @@ } } } - } - )); + }), + ); + + self.print_operation + .connect_draw_page(glib::clone!(@weak obj => + move |_operation, context, _page_nr| { + obj.draw_page(context); + } + )); } fn properties() -> &'static [glib::ParamSpec] { ++++++ loupe.obsinfo ++++++ --- /var/tmp/diff_new_pack.DjuY4g/_old 2024-04-15 20:24:11.365280696 +0200 +++ /var/tmp/diff_new_pack.DjuY4g/_new 2024-04-15 20:24:11.369280843 +0200 @@ -1,5 +1,5 @@ name: loupe -version: 46.1 -mtime: 1712101351 -commit: 1ee30b0a7b5a22f1273e88a582e0c698fe4175f7 +version: 46.2 +mtime: 1712696222 +commit: 1c93e7b81e6688e235aa5e5c5ba3325d4cfa67bd ++++++ vendor.tar.zst ++++++ Binary files /var/tmp/diff_new_pack.DjuY4g/_old and /var/tmp/diff_new_pack.DjuY4g/_new differ