From 48852f45ff960e561e9e567dd1b4216c5d3e43d7 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Sat, 7 Mar 2026 14:52:26 +0100 Subject: [PATCH] state: deduplicate inhibitor code --- src/ifs/wl_surface/zwp_idle_inhibitor_v1.rs | 6 ++++-- src/state.rs | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ifs/wl_surface/zwp_idle_inhibitor_v1.rs b/src/ifs/wl_surface/zwp_idle_inhibitor_v1.rs index 3c945c5c..34d26581 100644 --- a/src/ifs/wl_surface/zwp_idle_inhibitor_v1.rs +++ b/src/ifs/wl_surface/zwp_idle_inhibitor_v1.rs @@ -43,11 +43,13 @@ impl ZwpIdleInhibitorV1 { } pub fn activate(self: &Rc) { - self.client.state.idle.add_inhibitor(self); + let state = &self.client.state; + state.idle.add_inhibitor(self); } pub fn deactivate(&self) { - self.client.state.idle.remove_inhibitor(self); + let state = &self.client.state; + state.idle.remove_inhibitor(self); } } diff --git a/src/state.rs b/src/state.rs index a6c53031..192e47f1 100644 --- a/src/state.rs +++ b/src/state.rs @@ -356,19 +356,22 @@ impl IdleState { pub fn add_inhibitor(&self, inhibitor: &Rc) { self.inhibitors.set(inhibitor.inhibit_id, inhibitor.clone()); - self.inhibitors_changed.set(true); - self.change.trigger(); + self.inhibitors_changed(); } pub fn remove_inhibitor(&self, inhibitor: &ZwpIdleInhibitorV1) { self.inhibitors.remove(&inhibitor.inhibit_id); - self.inhibitors_changed.set(true); - self.change.trigger(); + self.inhibitors_changed(); if self.inhibitors.is_empty() { self.resume_inhibited_notifications(); } } + fn inhibitors_changed(&self) { + self.inhibitors_changed.set(true); + self.change.trigger(); + } + fn resume_inhibited_notifications(&self) { for notification in self.inhibited_idle_notifications.lock().drain_values() { notification.resume.trigger();