Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package switchboard-plug-display for openSUSE:Factory checked in at 2025-08-25 20:38:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/switchboard-plug-display (Old) and /work/SRC/openSUSE:Factory/.switchboard-plug-display.new.30751 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "switchboard-plug-display" Mon Aug 25 20:38:54 2025 rev:3 rq:1301208 version:8.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/switchboard-plug-display/switchboard-plug-display.changes 2025-03-11 20:47:19.699234418 +0100 +++ /work/SRC/openSUSE:Factory/.switchboard-plug-display.new.30751/switchboard-plug-display.changes 2025-08-25 20:40:37.426439471 +0200 @@ -1,0 +2,9 @@ +Sat Aug 16 20:57:46 UTC 2025 - Richard Rahl <rra...@opensuse.org> + +- update to version 8.0.2: + * Styles: add scale.warmth + * Fix crash on enabling mirror display + * Fix Scale set by adding modes before set calling + * Fix crash and display arrangement when pluging new monitor + +------------------------------------------------------------------- Old: ---- switchboard-plug-display-8.0.1.tar.gz New: ---- switchboard-plug-display-8.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ switchboard-plug-display.spec ++++++ --- /var/tmp/diff_new_pack.XcJ6hq/_old 2025-08-25 20:40:38.494484215 +0200 +++ /var/tmp/diff_new_pack.XcJ6hq/_new 2025-08-25 20:40:38.498484383 +0200 @@ -1,7 +1,7 @@ # # spec file for package switchboard-plug-display # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define appid io.elementary.settings.display Name: switchboard-plug-display -Version: 8.0.1 +Version: 8.0.2 Release: 0 Summary: Switchboard Display Plug License: GPL-3.0-or-later @@ -40,7 +40,7 @@ %lang_package %prep -%autosetup +%autosetup -n settings-display-%{version} %build %meson ++++++ switchboard-plug-display-8.0.1.tar.gz -> switchboard-plug-display-8.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/data/Display.css new/settings-display-8.0.2/data/Display.css --- old/switchboard-plug-display-8.0.1/data/Display.css 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/data/Display.css 2025-05-27 16:17:33.000000000 +0200 @@ -143,3 +143,29 @@ display-widget.disabled button.flat.image-button:checked { background: alpha(@SLATE_700, 0.5); } + +scale.warmth trough { + background-image: + linear-gradient( + to right, + mix( + @SILVER_100, + @ORANGE_100, + 0.5 + ), + @ORANGE_500 + ); +} + +scale.warmth:dir(rtl) trough { + background-image: + linear-gradient( + to left, + mix( + @SILVER_100, + @ORANGE_100, + 0.5 + ), + @ORANGE_500 + ); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/data/display.metainfo.xml.in new/settings-display-8.0.2/data/display.metainfo.xml.in --- old/switchboard-plug-display-8.0.1/data/display.metainfo.xml.in 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/data/display.metainfo.xml.in 2025-05-27 16:17:33.000000000 +0200 @@ -30,6 +30,19 @@ <update_contact>contact_at_elementary.io</update_contact> <releases> + <release version="8.0.2" date="2025-05-27" urgency="medium"> + <description> + <p>Minor updates:</p> + <ul> + <li>Updated translations</li> + </ul> + </description> + <issues> + <issue url="https://github.com/elementary/switchboard-plug-display/issues/406">Crash after pressing the Detect Display button</issue> + <issue url="https://github.com/elementary/switchboard-plug-display/issues/411">Opening display settings results in segfault</issue> + <issue url="https://github.com/elementary/switchboard-plug-display/issues/419">Display Settings crashes when hotplugging a new monitor in a single monitor layout</issue> + </issues> + </release> <release version="8.0.1" date="2025-03-10" urgency="medium"> <description> <p>Minor updates:</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/meson.build new/settings-display-8.0.2/meson.build --- old/switchboard-plug-display-8.0.1/meson.build 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/meson.build 2025-05-27 16:17:33.000000000 +0200 @@ -1,7 +1,7 @@ project( 'display', 'vala', 'c', - version: '8.0.1' + version: '8.0.2' ) gettext_name = 'io.elementary.settings.' + meson.project_name() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/src/Objects/MonitorManager.vala new/settings-display-8.0.2/src/Objects/MonitorManager.vala --- old/switchboard-plug-display-8.0.1/src/Objects/MonitorManager.vala 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/src/Objects/MonitorManager.vala 2025-05-27 16:17:33.000000000 +0200 @@ -83,6 +83,10 @@ critical (e.message); } + // Clear all monitors and virtual monitors before re-adding them if needed + monitors.clear (); + virtual_monitors.clear (); + //TODO: make use of the "global-scale-required" property to differenciate between X and Wayland var supports_mirroring_variant = properties.lookup ("supports-mirroring"); if (supports_mirroring_variant != null) { @@ -188,7 +192,6 @@ var virtual_monitor = get_virtual_monitor_by_id (monitors_id); if (virtual_monitor == null) { virtual_monitor = new VirtualMonitor (); - add_virtual_monitor (virtual_monitor); } foreach (var mutter_info in mutter_logical_monitor.monitors) { @@ -214,6 +217,7 @@ virtual_monitor.scale = mutter_logical_monitor.scale; virtual_monitor.transform = mutter_logical_monitor.transform; virtual_monitor.primary = mutter_logical_monitor.primary; + add_virtual_monitor (virtual_monitor); } // Look for any monitors that aren't part of a virtual monitor (hence disabled) @@ -229,11 +233,11 @@ if (!found) { var virtual_monitor = new VirtualMonitor (); - add_virtual_monitor (virtual_monitor); virtual_monitor.is_active = false; virtual_monitor.primary = false; - virtual_monitor.scale = virtual_monitors[0].scale; virtual_monitor.monitors.add (monitor); + virtual_monitor.scale = virtual_monitors[0].scale; + add_virtual_monitor (virtual_monitor); } } } @@ -297,8 +301,8 @@ public void enable_clone_mode () { var clone_virtual_monitor = new Display.VirtualMonitor (); clone_virtual_monitor.primary = true; - clone_virtual_monitor.scale = Utils.get_min_compatible_scale (monitors); clone_virtual_monitor.monitors.add_all (monitors); + clone_virtual_monitor.scale = Utils.get_min_compatible_scale (monitors); var modes = clone_virtual_monitor.get_available_modes (); /* * Two choices here: @@ -364,6 +368,9 @@ var single_virtual_monitor = new Display.VirtualMonitor (); var preferred_mode = monitor.preferred_mode; var current_mode = monitor.current_mode; + + single_virtual_monitor.monitors.add (monitor); + if (global_scale_required) { single_virtual_monitor.scale = max_scale; if (max_scale in preferred_mode.supported_scales) { @@ -388,7 +395,6 @@ single_virtual_monitor.scale = preferred_mode.preferred_scale; } - single_virtual_monitor.monitors.add (monitor); new_virtual_monitors.add (single_virtual_monitor); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/src/Objects/VirtualMonitor.vala new/settings-display-8.0.2/src/Objects/VirtualMonitor.vala --- old/switchboard-plug-display-8.0.1/src/Objects/VirtualMonitor.vala 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/src/Objects/VirtualMonitor.vala 2025-05-27 16:17:33.000000000 +0200 @@ -150,7 +150,7 @@ private void update_available_scales () { Scale[] scales = {}; foreach (var mode in get_available_modes ()) { - if (!mode.is_current) { + if (!mode.is_current && !mode.is_preferred) { continue; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/switchboard-plug-display-8.0.1/src/Widgets/DisplaysOverlay.vala new/settings-display-8.0.2/src/Widgets/DisplaysOverlay.vala --- old/switchboard-plug-display-8.0.1/src/Widgets/DisplaysOverlay.vala 2025-03-10 21:49:28.000000000 +0100 +++ new/settings-display-8.0.2/src/Widgets/DisplaysOverlay.vala 2025-05-27 16:17:33.000000000 +0200 @@ -186,10 +186,12 @@ public void rescan_displays () { scanning = true; - foreach (unowned var widget in display_widgets) { - display_widgets.remove (widget); - widget.destroy (); - } + + display_widgets.@foreach ((display_widget) => { + overlay.remove_overlay (display_widget); + display_widget.destroy (); + display_widgets.remove (display_widget); + }); active_displays = 0; foreach (var virtual_monitor in monitor_manager.virtual_monitors) {