path: root/src/lib/ecore_drm2/ecore_drm2_device.c
diff options
authorDerek Foreman <>2017-06-02 13:19:58 -0500
committerDerek Foreman <>2017-06-02 15:50:09 -0500
commit280c82fdd4af1e9d9446983627a9db992b9ba348 (patch)
tree3ae2ff31b61fbc49aa032e580a5ca983ab30d3a5 /src/lib/ecore_drm2/ecore_drm2_device.c
parent9d583b3fdbed686642dbc0d96d1e417485ca0077 (diff)
ecore_drm2: Don't try to disable all devices when session deactivates
We get this callback after we've lost the drm device to logind, so deactivating stuff here will just generate a lot of ERR messages and break our internal book-keeping. Instead, we just turn on DPMS on session activation instead of trying to go through the output enable path (that will bail if it's already enabled) This could potentially result in a display that's enabled and DPMS off being switched back on during session activation - if that's a real problem we can restore the previous dpms state instead... @fix T5483
Diffstat (limited to 'src/lib/ecore_drm2/ecore_drm2_device.c')
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c
index 41d2128604..2a1680c1d7 100644
--- a/src/lib/ecore_drm2/ecore_drm2_device.c
+++ b/src/lib/ecore_drm2/ecore_drm2_device.c
@@ -22,8 +22,9 @@ _cb_session_active(void *data, int type EINA_UNUSED, void *event)
22 ev = event; 22 ev = event;
23 device = data; 23 device = data;
24 24
25 EINA_LIST_FOREACH(device->outputs, l, output) 25 if (ev->active)
26 ecore_drm2_output_enabled_set(output, ev->active); 26 EINA_LIST_FOREACH(device->outputs, l, output)
27 ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON);
27 28
28 ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate)); 29 ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate));
29 if (!ea) return ECORE_CALLBACK_RENEW; 30 if (!ea) return ECORE_CALLBACK_RENEW;