summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-07-15 12:01:31 -0500
committerDerek Foreman <derekf@osg.samsung.com>2016-07-15 12:01:31 -0500
commit607807da19d8af7847bd6b55d76f417174e27b67 (patch)
treef2a3afaf72b5029666cceaf11e0d886979a0b266
parent5a3c015e9e2b9a19e5396faf2a78376979fc5ea9 (diff)
downloadefl-devs/derekf/drm2_fixes.tar.gz
ecore_drm2: Allow enabling outputs in drm eventsdevs/derekf/drm2_fixes
Previously a drm event could create a new output or disconnect an output, but could not re-enable an existing output. This results in failure to properly wake from screen blanker.
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_outputs.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c
index 42e8e1a08f..1eb50d692e 100644
--- a/src/lib/ecore_drm2/ecore_drm2_outputs.c
+++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c
@@ -669,6 +669,24 @@ next:
}
}
}
+
+ connected = (dev->alloc.conn & connected);
+ if (connected)
+ {
+ Ecore_Drm2_Output *output;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(dev->outputs, l, output)
+ {
+ if (connected & (1 << output->conn_id))
+ {
+ connected &= ~(1 << output->conn_id);
+ output->connected = EINA_TRUE;
+ output->enabled = EINA_TRUE;
+ _output_event_send(output);
+ }
+ }
+ }
}
static void