aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-02-11 23:05:37 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-02-11 23:05:37 +0400
commit89f74aae98989a101b252a98fe218874888382b4 (patch)
tree4d2a87a3cce33ef60225e013baac2bcafab9ff34 /src
parent5e553c2679e62bed702483ca47cf23fd8008bc24 (diff)
downloadniri-89f74aae98989a101b252a98fe218874888382b4.tar.gz
niri-89f74aae98989a101b252a98fe218874888382b4.tar.bz2
niri-89f74aae98989a101b252a98fe218874888382b4.zip
freedesktop-screensaver: Filter out non-interesting messages
Diffstat (limited to 'src')
-rw-r--r--src/dbus/freedesktop_screensaver.rs7
1 files changed, 5 insertions, 2 deletions
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");
}
}