aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-06-26 15:28:07 -0400
committerChris Michael <cp.michael@samsung.com>2018-06-26 15:28:07 -0400
commit7d54989f9beccb4d260681d11bf83e177bc75f9e (patch)
tree60b71cea65976ec68ae9c0a64c09e19237267c0b
parentRevert "eina: provide full string length to vsnprintf to allow for null chara... (diff)
downloadefl-7d54989f9beccb4d260681d11bf83e177bc75f9e.tar.gz
ecore_drm2: Fix failure to properly set up new plane
Summary: When we add a plane we need to add it to the list before doing the atomic test to ensure we're testing new state that includes the plane, and to ensure the next screen update includes the plane we just added. Fix https://phab.enlightenment.org/T7066 Reviewers: devilhorns Subscribers: cedric, #committers, zmike Tags: #efl Maniphest Tasks: https://phab.enlightenment.org/T7066 Differential Revision: https://phab.enlightenment.org/D6432
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_plane.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c
index 796302dc1f..b9601cc347 100644
--- a/src/lib/ecore_drm2/ecore_drm2_plane.c
+++ b/src/lib/ecore_drm2/ecore_drm2_plane.c
@@ -112,8 +112,11 @@ out:
plane->type = pstate->type.value;
plane->output = output;
+ output->planes = eina_list_append(output->planes, plane);
+
if (!_fb_atomic_flip_test(output))
{
+ output->planes = eina_list_remove(output->planes, plane);
plane->state->in_use = EINA_FALSE;
free(plane);
@@ -122,7 +125,6 @@ out:
_ecore_drm2_fb_ref(fb);
DBG("FB %d assigned to Plane %d", fb->id, pstate->obj_id);
- output->planes = eina_list_append(output->planes, plane);
if (fb->status_handler)
fb->status_handler(fb,