From 89f74aae98989a101b252a98fe218874888382b4 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sun, 11 Feb 2024 23:05:37 +0400 Subject: freedesktop-screensaver: Filter out non-interesting messages --- src/dbus/freedesktop_screensaver.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dbus/freedesktop_screensaver.rs b/src/dbus/freedesktop_screensaver.rs index aa72bcea..19bb6bf0 100644 --- a/src/dbus/freedesktop_screensaver.rs +++ b/src/dbus/freedesktop_screensaver.rs @@ -6,7 +6,8 @@ use std::sync::{Arc, Mutex, OnceLock}; use anyhow::Context; use futures_util::StreamExt; use zbus::fdo::{self, RequestNameFlags}; -use zbus::names::OwnedUniqueName; +use zbus::names::{OwnedUniqueName, UniqueName}; +use zbus::zvariant::NoneValue; use zbus::{dbus_interface, MessageHeader, Task}; use super::Start; @@ -97,7 +98,7 @@ async fn monitor_disappeared_clients( .context("error creating a DBusProxy")?; let mut stream = proxy - .receive_name_owner_changed() + .receive_name_owner_changed_with_args(&[(2, UniqueName::null_value())]) .await .context("error creating a NameOwnerChanged stream")?; @@ -116,6 +117,8 @@ async fn monitor_disappeared_clients( let mut inhibitors = inhibitors.lock().unwrap(); inhibitors.retain(|_, owner| owner != name); is_inhibited.store(!inhibitors.is_empty(), Ordering::SeqCst); + } else { + error!("non-null new_owner should've been filtered out"); } } -- cgit