diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-06-02 13:19:58 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2017-06-02 15:50:09 -0500 |
commit | 280c82fdd4af1e9d9446983627a9db992b9ba348 (patch) | |
tree | 3ae2ff31b61fbc49aa032e580a5ca983ab30d3a5 | |
parent | 9d583b3fdbed686642dbc0d96d1e417485ca0077 (diff) | |
download | efl-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.c | 5 |
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; |