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 T7066

Reviewers: devilhorns

Subscribers: cedric, #committers, zmike

Tags: #efl

Maniphest Tasks: T7066

Differential Revision: https://phab.enlightenment.org/D6432
This commit is contained in:
Derek Foreman 2018-06-26 15:28:07 -04:00 committed by Chris Michael
parent 80baf516a3
commit 7d54989f9b
1 changed files with 3 additions and 1 deletions

View File

@ -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,