diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-05-13 10:43:35 -0400 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-05-13 10:43:35 -0400 |
commit | 90c284bded5b7630600c2e8e06a81c8e871799ac (patch) | |
tree | 9def86b0f8ad8bfbc9ac960817396cce0b24e587 /backend/session | |
parent | 107a1789eab550240fc01e84f896055e487ab216 (diff) |
session/logind: keep active for pause_device gone
This appears to be a quick fix for compositors freezing when a dock is
disconnected. Disconnection of the dock is causing `pause_device` for
the DRM devices associated with the dock. Since these devices major
number is `DRM_MAJOR`, the session was being set to inactive. This just
makes it so the session is not set to inactive when the device's state
is `gone`.
Diffstat (limited to 'backend/session')
-rw-r--r-- | backend/session/logind.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/session/logind.c b/backend/session/logind.c index 8f4e328d..03db78f0 100644 --- a/backend/session/logind.c +++ b/backend/session/logind.c @@ -274,7 +274,7 @@ static int pause_device(sd_bus_message *msg, void *userdata, goto error; } - if (major == DRM_MAJOR) { + if (major == DRM_MAJOR && strcmp(type, "gone") != 0) { assert(session->has_drm); session->base.active = false; wlr_signal_emit_safe(&session->base.session_signal, session); |