This is an automated email from the git hooks/post-receive script. b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository apps/xfce4-screensaver.
commit 69c32a115c1b66a53e726910beb60c298c175ceb Author: Michael Weiser <michael.wei...@gmx.de> Date: Thu Jan 9 14:19:40 2020 +0100 Fix dbus inhibition (bug #16365) Port over necessary routines from mate screensaver and wire them into idle screensaving and locking decisions. Do not inhibit explicit locking e.g. via dbus because it's security relevant and we should do it if requested explicitly. Signed-off-by: Sean Davis <smd.seanda...@gmail.com> --- src/gs-listener-dbus.c | 12 ++++++++++++ src/gs-listener-dbus.h | 7 +------ src/gs-monitor.c | 10 ++++++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c index 0c15379..1a8f88b 100644 --- a/src/gs-listener-dbus.c +++ b/src/gs-listener-dbus.c @@ -391,6 +391,18 @@ gs_listener_activate_saver (GSListener *listener, return TRUE; } +gboolean +gs_listener_is_inhibited (GSListener *listener) +{ + gboolean inhibited; + + g_return_val_if_fail (GS_IS_LISTENER (listener), FALSE); + + inhibited = listener_ref_entry_is_present (listener, REF_ENTRY_TYPE_INHIBIT); + + return inhibited; +} + static dbus_bool_t listener_property_set_bool (GSListener *listener, guint prop_id, diff --git a/src/gs-listener-dbus.h b/src/gs-listener-dbus.h index 048a404..41266f7 100644 --- a/src/gs-listener-dbus.h +++ b/src/gs-listener-dbus.h @@ -78,12 +78,7 @@ gboolean gs_listener_acquire (GSListener *listener, GError **error); gboolean gs_listener_activate_saver (GSListener *listener, gboolean active); -gboolean gs_listener_set_session_idle (GSListener *listener, - gboolean idle); -void gs_listener_set_activation_enabled (GSListener *listener, - gboolean enabled); -void gs_listener_set_sleep_activation_enabled (GSListener *listener, - gboolean enabled); +gboolean gs_listener_is_inhibited (GSListener *listener); G_END_DECLS diff --git a/src/gs-monitor.c b/src/gs-monitor.c index ffdaa4a..d3b9e4b 100644 --- a/src/gs-monitor.c +++ b/src/gs-monitor.c @@ -87,10 +87,20 @@ static void listener_lock_cb(GSListener* listener, GSMonitor* monitor) { } static void listener_x11_activate_cb(GSListenerX11* listener, GSMonitor* monitor) { + if (gs_listener_is_inhibited(monitor->priv->listener)) { + gs_debug("Idle screen saving inhibited via dbus"); + return; + } + gs_listener_activate_saver(monitor->priv->listener, TRUE); } static void listener_x11_lock_cb(GSListenerX11* listener, GSMonitor* monitor) { + if (gs_listener_is_inhibited(monitor->priv->listener)) { + gs_debug("Idle locking inhibited via dbus"); + return; + } + listener_lock_cb (NULL, monitor); } -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits