devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7d54989f9beccb4d260681d11bf83e177bc75f9e

commit 7d54989f9beccb4d260681d11bf83e177bc75f9e
Author: Derek Foreman <[email protected]>
Date:   Tue Jun 26 15:28:07 2018 -0400

    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
---
 src/lib/ecore_drm2/ecore_drm2_plane.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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,

-- 


Reply via email to