From b9fac73e6d3e39e49df3448ec0a70d86372701ba Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 12 Jan 2018 16:12:14 +0100 Subject: [PATCH] Fix gdm session trying to change the backlight, resulting in a lot of spurious error messages (#1322588) --- ...t-to-light-changes-if-not-at-console.patch | 64 +++++++++++++++++++ gnome-settings-daemon.spec | 12 +++- 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 0001-power-Don-t-react-to-light-changes-if-not-at-console.patch diff --git a/0001-power-Don-t-react-to-light-changes-if-not-at-console.patch b/0001-power-Don-t-react-to-light-changes-if-not-at-console.patch new file mode 100644 index 0000000..4b54732 --- /dev/null +++ b/0001-power-Don-t-react-to-light-changes-if-not-at-console.patch @@ -0,0 +1,64 @@ +From bc732cd6c7c7e22b0f8df7c6a4046b5303eff5eb Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 10 Jan 2018 17:57:47 +0100 +Subject: [PATCH] power: Don't react to light changes if not at console + +As iio-sensor-proxy isn't yet clever enough to only send property +changes signals to clients that have claimed a sensor, disconnect +the properties-changed signal so we don't attempt to make brightness +changes when we're not on the active seat. + +See https://github.com/hadess/iio-sensor-proxy/issues/210 +See https://bugzilla.gnome.org/show_bug.cgi?id=756539 +See https://bugzilla.gnome.org/show_bug.cgi?id=773685 +See https://bugzilla.gnome.org/show_bug.cgi?id=764896 +See https://bugzilla.redhat.com/show_bug.cgi?id=1322588 + +https://bugzilla.gnome.org/show_bug.cgi?id=792409 +--- + plugins/power/gsd-power-manager.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c +index e411e124..19fa3214 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -219,6 +219,7 @@ static gboolean idle_is_session_inhibited (GsdPowerManager *manager, guint mask + static void idle_triggered_idle_cb (GnomeIdleMonitor *monitor, guint watch_id, gpointer user_data); + static void idle_became_active_cb (GnomeIdleMonitor *monitor, guint watch_id, gpointer user_data); + static void iio_proxy_changed (GsdPowerManager *manager); ++static void iio_proxy_changed_cb (GDBusProxy *proxy, GVariant *changed_properties, GStrv invalidated_properties, gpointer user_data); + + G_DEFINE_TYPE (GsdPowerManager, gsd_power_manager, G_TYPE_OBJECT) + +@@ -996,6 +997,18 @@ iio_proxy_claim_light (GsdPowerManager *manager, gboolean active) + if (active && !manager->priv->session_is_active) + return; + ++ /* FIXME: ++ * Remove when iio-sensor-proxy sends events only to clients instead ++ * of all listeners: ++ * https://github.com/hadess/iio-sensor-proxy/issues/210 */ ++ if (active) ++ g_signal_connect (manager->priv->iio_proxy, "g-properties-changed", ++ G_CALLBACK (iio_proxy_changed_cb), manager); ++ else ++ g_signal_handlers_disconnect_by_func (manager->priv->iio_proxy, ++ G_CALLBACK (iio_proxy_changed_cb), ++ manager); ++ + if (!g_dbus_proxy_call_sync (manager->priv->iio_proxy, + active ? "ClaimLight" : "ReleaseLight", + NULL, +@@ -2613,8 +2626,6 @@ iio_proxy_appeared_cb (GDBusConnection *connection, + "net.hadess.SensorProxy", + NULL, + NULL); +- g_signal_connect (manager->priv->iio_proxy, "g-properties-changed", +- G_CALLBACK (iio_proxy_changed_cb), manager); + iio_proxy_claim_light (manager, TRUE); + } + +-- +2.14.3 + diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index 79a2701..f3544e3 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -8,13 +8,17 @@ Name: gnome-settings-daemon Version: 3.26.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The daemon sharing settings from GNOME to GTK+/KDE applications License: GPLv2+ URL: https://download.gnome.org/sources/%{name} Source0: https://download.gnome.org/sources/%{name}/3.26/%{name}-%{version}.tar.xz +# https://bugzilla.redhat.com/show_bug.cgi?id=1322588 +# https://bugzilla.gnome.org/show_bug.cgi?id=792409 +Patch0: 0001-power-Don-t-react-to-light-changes-if-not-at-console.patch + BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(colord) >= 1.0.2 BuildRequires: pkgconfig(fontconfig) @@ -86,7 +90,7 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep -%setup -q +%autosetup -p1 %build %configure --disable-static \ @@ -200,6 +204,10 @@ mkdir $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-3.0/gtk-modules %{_libexecdir}/gsd-test-input-helper %changelog +* Fri Jan 12 2018 Bastien Nocera - 3.26.2-3 +- Fix gdm session trying to change the backlight, resulting in a lot + of spurious error messages (#1322588) + * Fri Jan 05 2018 Igor Gnatenko - 3.26.2-2 - Remove obsolete scriptlets