state: Trigger idle-callbacks on client disconnect

This commit is contained in:
Victoria Brekenfeld 2023-08-01 16:50:26 +02:00
parent 1a9f976818
commit 568c8032b7

View file

@ -98,10 +98,13 @@ pub struct ClientState {
pub workspace_client_state: WorkspaceClientState, pub workspace_client_state: WorkspaceClientState,
pub drm_node: Option<DrmNode>, pub drm_node: Option<DrmNode>,
pub privileged: bool, pub privileged: bool,
pub evls: LoopSignal,
} }
impl ClientData for ClientState { impl ClientData for ClientState {
fn initialized(&self, _client_id: ClientId) {} fn initialized(&self, _client_id: ClientId) {}
fn disconnected(&self, _client_id: ClientId, _reason: DisconnectReason) {} fn disconnected(&self, _client_id: ClientId, _reason: DisconnectReason) {
self.evls.wakeup();
}
} }
pub struct Data { pub struct Data {
@ -367,6 +370,7 @@ impl State {
_ => None, _ => None,
}, },
privileged: false, privileged: false,
evls: self.common.event_loop_signal.clone(),
} }
} }
@ -376,6 +380,7 @@ impl State {
workspace_client_state: WorkspaceClientState::default(), workspace_client_state: WorkspaceClientState::default(),
drm_node: Some(drm_node), drm_node: Some(drm_node),
privileged: false, privileged: false,
evls: self.common.event_loop_signal.clone(),
} }
} }
@ -388,6 +393,7 @@ impl State {
_ => None, _ => None,
}, },
privileged: true, privileged: true,
evls: self.common.event_loop_signal.clone(),
} }
} }
} }