summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2/ecore_drm2_device.c
diff options
context:
space:
mode:
authorChris Michael <cpmichael@osg.samsung.com>2016-06-21 12:55:17 -0400
committerChris Michael <cpmichael@osg.samsung.com>2016-06-21 12:55:17 -0400
commit51b589da6a56e9a0bf36226318da4917ec3218fb (patch)
tree247106d4ecb770a32b7930595810adfb15ccbe4a /src/lib/ecore_drm2/ecore_drm2_device.c
parentb2a4f45790bd6d3beba494d55e269cc0650f0848 (diff)
ecore-drm2: Fix redrawing screen when we vt-switch back to a session
When we vt-switch away from a running session, we need to disable rendering to an output and re-enable when we switch back. This patch set essentially makes vt-switching work again in Enlightenment Wayland. Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Diffstat (limited to 'src/lib/ecore_drm2/ecore_drm2_device.c')
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_device.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c
index 95b7315935..ad786e8269 100644
--- a/src/lib/ecore_drm2/ecore_drm2_device.c
+++ b/src/lib/ecore_drm2/ecore_drm2_device.c
@@ -9,12 +9,19 @@
9#endif 9#endif
10 10
11static Eina_Bool 11static Eina_Bool
12_cb_session_active(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) 12_cb_session_active(void *data, int type EINA_UNUSED, void *event)
13{ 13{
14 Eina_List *l;
15 Ecore_Drm2_Device *device;
16 Ecore_Drm2_Output *output;
14 Elput_Event_Session_Active *ev; 17 Elput_Event_Session_Active *ev;
15 Ecore_Drm2_Event_Activate *ea; 18 Ecore_Drm2_Event_Activate *ea;
16 19
17 ev = event; 20 ev = event;
21 device = data;
22
23 EINA_LIST_FOREACH(device->outputs, l, output)
24 ecore_drm2_output_enabled_set(output, ev->active);
18 25
19 ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate)); 26 ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate));
20 if (!ea) return ECORE_CALLBACK_RENEW; 27 if (!ea) return ECORE_CALLBACK_RENEW;