summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-06-02 13:19:58 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-06-02 15:50:09 -0500
commit280c82fdd4af1e9d9446983627a9db992b9ba348 (patch)
tree3ae2ff31b61fbc49aa032e580a5ca983ab30d3a5
parent9d583b3fdbed686642dbc0d96d1e417485ca0077 (diff)
downloadefl-280c82fdd4af1e9d9446983627a9db992b9ba348.tar.gz
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
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_device.c5
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)
ev = event;
device = data;
- EINA_LIST_FOREACH(device->outputs, l, output)
- ecore_drm2_output_enabled_set(output, ev->active);
+ if (ev->active)
+ EINA_LIST_FOREACH(device->outputs, l, output)
+ ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON);
ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate));
if (!ea) return ECORE_CALLBACK_RENEW;