aboutsummaryrefslogtreecommitdiff
path: root/src/dbus/mutter_screen_cast.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-07-04 13:49:33 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-07-05 07:35:01 +0300
commitd2087a2cd9f30e40778861666370df56b532af63 (patch)
tree9948e7eb0a723907a76e533e8604eee918940348 /src/dbus/mutter_screen_cast.rs
parentc681198179c3cf5e2e74d3705db2b689671e13f4 (diff)
downloadniri-d2087a2cd9f30e40778861666370df56b532af63.tar.gz
niri-d2087a2cd9f30e40778861666370df56b532af63.tar.bz2
niri-d2087a2cd9f30e40778861666370df56b532af63.zip
Add output ID tracking
Diffstat (limited to 'src/dbus/mutter_screen_cast.rs')
-rw-r--r--src/dbus/mutter_screen_cast.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dbus/mutter_screen_cast.rs b/src/dbus/mutter_screen_cast.rs
index 4b3c2fdd..0aba084e 100644
--- a/src/dbus/mutter_screen_cast.rs
+++ b/src/dbus/mutter_screen_cast.rs
@@ -191,7 +191,11 @@ impl Session {
) -> fdo::Result<OwnedObjectPath> {
debug!(connector, ?properties, "record_monitor");
- let Some(output) = self.ipc_outputs.lock().unwrap().get(connector).cloned() else {
+ let output = {
+ let ipc_outputs = self.ipc_outputs.lock().unwrap();
+ ipc_outputs.values().find(|o| o.name == connector).cloned()
+ };
+ let Some(output) = output else {
return Err(fdo::Error::Failed("no such monitor".to_owned()));
};