Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-settings-daemon for 
openSUSE:Factory checked in at 2025-04-03 18:40:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-settings-daemon (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-settings-daemon.new.1907 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-settings-daemon"

Thu Apr  3 18:40:45 2025 rev:201 rq:1266390 version:48.0+3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gnome-settings-daemon/gnome-settings-daemon.changes  
    2025-03-20 19:24:10.547613559 +0100
+++ 
/work/SRC/openSUSE:Factory/.gnome-settings-daemon.new.1907/gnome-settings-daemon.changes
    2025-04-03 18:42:59.715703947 +0200
@@ -1,0 +2,11 @@
+Tue Apr 01 09:29:02 UTC 2025 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 48.0+3:
+  * Update Occitan translation
+  * Revert "ci: Point to ci-templates fork with cbuild"
+  * Updated translations.
+- Add patches to fix brightness control:
+  * 411.patch
+  * 413.patch
+
+-------------------------------------------------------------------

Old:
----
  gnome-settings-daemon-48.0.obscpio

New:
----
  411.patch
  413.patch
  _servicedata
  gnome-settings-daemon-48.0+3.obscpio

BETA DEBUG BEGIN:
  New:- Add patches to fix brightness control:
  * 411.patch
  * 413.patch
  New:  * 411.patch
  * 413.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-settings-daemon.spec ++++++
--- /var/tmp/diff_new_pack.baj6e0/_old  2025-04-03 18:43:02.999841855 +0200
+++ /var/tmp/diff_new_pack.baj6e0/_new  2025-04-03 18:43:03.003842023 +0200
@@ -30,7 +30,7 @@
 %define base_ver 48
 
 Name:           gnome-settings-daemon
-Version:        48.0
+Version:        48.0+3
 Release:        0
 Summary:        Settings daemon for the GNOME desktop
 License:        GPL-2.0-or-later AND LGPL-2.1-only
@@ -46,6 +46,10 @@
 Patch4:         0001-usb-protection-Treat-hubs-and-HID-devices-like-any-o.patch
 # PATCH-FIX-UPSTREAM gnome-settings-daemon-fix-stop-service.patch bsc#1233824 
glgo#GNOME/gnome-settings-daemon!395-- sharing: Stop systemd service waiting 
when daemon is stopping
 Patch5:         gnome-settings-daemon-fix-stop-service.patch
+# PATCH-FIX-UPSTREAM 411.patch -- power: Ensure backlight iface signal gets 
emited on startup
+Patch6:         
https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/411.patch
+# PATCH-FIX-UPSTREAM 413.patch -- power: Avoid using uninitialized value when 
restoring brightness
+Patch7:         
https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/413.patch
 
 ## SLE/LEAP-only patches start at 1000
 # PATCH-FEATURE-OPENSUSE gnome-settings-daemon-notify-idle-resumed.patch 
bnc#439018 bnc#708182 bgo#575467 h...@suse.com -- notify user about auto 
suspend when returning from sleep

++++++ 411.patch ++++++
++++ 1519 lines (skipped)

++++++ 413.patch ++++++
>From 216847a196bd407d6dda63053a28cb327d700188 Mon Sep 17 00:00:00 2001
From: Sebastian Keller <skel...@gnome.org>
Date: Mon, 31 Mar 2025 14:05:18 +0200
Subject: [PATCH] power: Avoid using uninitialized value when restoring
 brightness

On laptops with an external monitor that don't suspend when the lid is
closed, display_backlight_dim() would get called while
builtin_display_disabled is true which causes
gsd_backlight_get_brightness() to return early without setting its out
parameter. That out parameter however is stored by
display_backlight_dim() as pre_dim_brightness to restore when the lid is
opened again.

When this happens, the brightness value is most likely out of range of
the min/max brightness percentage and thus PERCENTAGE_TO_ABS will return
-1 which then gets clamped to the minimum brightness value in
gsd_backlight_set_brightness_val_async().

Fix this separating the target brightness getter from
gsd_backlight_get_brightness(), because the latter was only ever used
to access one or the other, but never both values at the same time and
there is no shared code. This new getter will now also return -1 for
the target brightness when builtin_display_disabled is true. This will
cause display_backlight_dim() to return before attempting to change the
brightness and storing the previous brightness.

Closes: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/737
---
 plugins/power/gsd-backlight.c     | 32 ++++++++++++++++++++++++-------
 plugins/power/gsd-backlight.h     |  5 +++--
 plugins/power/gsd-power-manager.c |  8 ++++----
 3 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
index 84b339802..b018e519f 100644
--- a/plugins/power/gsd-backlight.c
+++ b/plugins/power/gsd-backlight.c
@@ -441,7 +441,6 @@ gsd_backlight_mutter_find_monitor (GsdBacklight *backlight,
 /**
  * gsd_backlight_get_brightness
  * @backlight: a #GsdBacklight
- * @target: Output parameter for the value the target value of pending set 
operations.
  *
  * The backlight value returns the last known stable value. This value will
  * only update once all pending operations to set a new value have finished.
@@ -456,17 +455,36 @@ gsd_backlight_mutter_find_monitor (GsdBacklight 
*backlight,
  * Returns: The last stable backlight value or -1 if the internal display is 
disabled.
  **/
 gint
-gsd_backlight_get_brightness (GsdBacklight *backlight, gint *target)
+gsd_backlight_get_brightness (GsdBacklight *backlight)
 {
         if (backlight->builtin_display_disabled)
                 return -1;
 
-        if (target)
-                *target = ABS_TO_PERCENTAGE (backlight->brightness_min, 
backlight->brightness_max, backlight->brightness_target);
-
         return ABS_TO_PERCENTAGE (backlight->brightness_min, 
backlight->brightness_max, backlight->brightness_val);
 }
 
+/**
+ * gsd_backlight_get_target_brightness
+ * @backlight: a #GsdBacklight
+ *
+ * This returns the target value of the pending operations, which might differ
+ * from the last known stable value, but is identical to the last value set in
+ * the async setter.
+ *
+ * If the internal display is detected as disabled, then the function will
+ * instead return -1.
+ *
+ * Returns: The current target backlight value or -1 if the internal display 
is disabled.
+ **/
+gint
+gsd_backlight_get_target_brightness (GsdBacklight *backlight)
+{
+        if (backlight->builtin_display_disabled)
+                return -1;
+
+        return ABS_TO_PERCENTAGE (backlight->brightness_min, 
backlight->brightness_max, backlight->brightness_target);
+}
+
 static void
 gsd_backlight_set_brightness_val_async (GsdBacklight *backlight,
                                         int value,
@@ -547,7 +565,7 @@ gsd_backlight_set_brightness_val_async (GsdBacklight 
*backlight,
 
                 backlight->brightness_val = value;
                 g_object_notify_by_pspec (G_OBJECT (backlight), 
props[PROP_BRIGHTNESS]);
-                g_task_return_int (task, gsd_backlight_get_brightness 
(backlight, NULL));
+                g_task_return_int (task, gsd_backlight_get_brightness 
(backlight));
                 g_object_unref (task);
 
                 return;
@@ -775,7 +793,7 @@ gsd_backlight_get_property (GObject    *object,
 
         switch (prop_id) {
         case PROP_BRIGHTNESS:
-                g_value_set_int (value, gsd_backlight_get_brightness 
(backlight, NULL));
+                g_value_set_int (value, gsd_backlight_get_brightness 
(backlight));
                 break;
 
         default:
diff --git a/plugins/power/gsd-backlight.h b/plugins/power/gsd-backlight.h
index 56216b62f..9bef62bf7 100644
--- a/plugins/power/gsd-backlight.h
+++ b/plugins/power/gsd-backlight.h
@@ -29,8 +29,9 @@ G_BEGIN_DECLS
 #define GSD_TYPE_BACKLIGHT gsd_backlight_get_type ()
 G_DECLARE_FINAL_TYPE (GsdBacklight, gsd_backlight, GSD, BACKLIGHT, GObject);
 
-gint gsd_backlight_get_brightness        (GsdBacklight         *backlight,
-                                          gint                 *target);
+gint gsd_backlight_get_brightness        (GsdBacklight         *backlight);
+
+gint gsd_backlight_get_target_brightness (GsdBacklight         *backlight);
 
 void gsd_backlight_set_brightness_async  (GsdBacklight         *backlight,
                                           gint                  percentage,
diff --git a/plugins/power/gsd-power-manager.c 
b/plugins/power/gsd-power-manager.c
index 436364a47..d1efee969 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -1640,7 +1640,7 @@ static void
 backlight_notify_brightness_cb (GsdPowerManager *manager, GParamSpec *pspec, 
GsdBacklight *backlight)
 {
         backlight_iface_emit_changed (manager, GSD_POWER_DBUS_INTERFACE_SCREEN,
-                                      gsd_backlight_get_brightness (backlight, 
NULL), NULL);
+                                      gsd_backlight_get_brightness 
(backlight), NULL);
 }
 
 static void
@@ -1654,7 +1654,7 @@ display_backlight_dim (GsdPowerManager *manager,
 
         /* Fetch the current target brightness (not the actual display 
brightness)
          * and return if it is already lower than the idle percentage. */
-        gsd_backlight_get_brightness (manager->backlight, &brightness);
+        brightness = gsd_backlight_get_target_brightness (manager->backlight);
         if (brightness < idle_percentage)
                 return;
 
@@ -3120,7 +3120,7 @@ gsd_power_manager_startup (GApplication *app)
            (likely, considering that to get here we need a reply from 
gnome-shell)
         */
         if (manager->backlight) {
-                manager->ambient_percentage_old = gsd_backlight_get_brightness 
(manager->backlight, NULL);
+                manager->ambient_percentage_old = gsd_backlight_get_brightness 
(manager->backlight);
                 backlight_iface_emit_changed (manager, 
GSD_POWER_DBUS_INTERFACE_SCREEN,
                                               manager->ambient_percentage_old, 
NULL);
         } else {
@@ -3404,7 +3404,7 @@ handle_get_property_other (GsdPowerManager *manager,
                 }
 
                 if (manager->backlight)
-                        value = gsd_backlight_get_brightness 
(manager->backlight, NULL);
+                        value = gsd_backlight_get_brightness 
(manager->backlight);
                 else
                         value = -1;
 
-- 
GitLab


++++++ _service ++++++
--- /var/tmp/diff_new_pack.baj6e0/_old  2025-04-03 18:43:03.075845046 +0200
+++ /var/tmp/diff_new_pack.baj6e0/_new  2025-04-03 18:43:03.079845214 +0200
@@ -3,11 +3,11 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.gnome.org/GNOME/gnome-settings-daemon.git</param>
-    <param name="revision">48.0</param>
+    <param name="revision">9e342142daf74e19fdc736beed19afd353c28016</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>
-    <param name="changesgenerate">disable</param>
+    <param name="changesgenerate">enable</param>
   </service>
   <service name="tar" mode="buildtime"/>
   <service name="recompress" mode="buildtime">

++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
                <param 
name="url">https://gitlab.gnome.org/GNOME/gnome-settings-daemon.git</param>
              <param 
name="changesrevision">9e342142daf74e19fdc736beed19afd353c28016</param></service></servicedata>
(No newline at EOF)

++++++ gnome-settings-daemon-48.0.obscpio -> 
gnome-settings-daemon-48.0+3.obscpio ++++++
++++ 4454 lines of diff (skipped)

++++++ gnome-settings-daemon.obsinfo ++++++
--- /var/tmp/diff_new_pack.baj6e0/_old  2025-04-03 18:43:03.659869571 +0200
+++ /var/tmp/diff_new_pack.baj6e0/_new  2025-04-03 18:43:03.663869739 +0200
@@ -1,5 +1,5 @@
 name: gnome-settings-daemon
-version: 48.0
-mtime: 1742216900
-commit: 02fd515dd202051e096d76f021b5134a198d6230
+version: 48.0+3
+mtime: 1743239595
+commit: 9e342142daf74e19fdc736beed19afd353c28016
 

Reply via email to