summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2/ecore_drm2_plane.c
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-05-04 16:28:10 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-05-05 12:53:25 -0500
commitc722466a602794002b374ef0f84de0a92d9cd531 (patch)
tree51c5a8b1a9d66356b7fb260fac8cc1186b2f4936 /src/lib/ecore_drm2/ecore_drm2_plane.c
parent1071c9f3a8731e37e4e83d024519a44cd56a44f2 (diff)
ecore_drm2: Replace plane state release flag with plane dead flag
The release flag is actually less useful than the existing in_use flag for determining if a plane is unused. If a new plane is assigned before the next flip cleans up released planes, then it can point to a released plane state, and both it and the previous user will be freed on the next commit, leaking a plane. Putting the flag in the plane structure fixes this while still allowing us to keep released planes around to ensure a recently released plane is cleared from atomic state.
Diffstat (limited to '')
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_plane.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c
index aa07594873..52f6bfd1d8 100644
--- a/src/lib/ecore_drm2/ecore_drm2_plane.c
+++ b/src/lib/ecore_drm2/ecore_drm2_plane.c
@@ -130,8 +130,8 @@ ecore_drm2_plane_release(Ecore_Drm2_Plane *plane)
130{ 130{
131 EINA_SAFETY_ON_NULL_RETURN(plane); 131 EINA_SAFETY_ON_NULL_RETURN(plane);
132 132
133 plane->dead = EINA_TRUE;
133 plane->state->in_use = EINA_FALSE; 134 plane->state->in_use = EINA_FALSE;
134 plane->state->release = EINA_TRUE;
135 _fb_atomic_flip_test(plane->output); 135 _fb_atomic_flip_test(plane->output);
136} 136}
137 137