derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ebcce5aefaef99e843e8324caf863b31f3b653d9
commit ebcce5aefaef99e843e8324caf863b31f3b653d9 Author: Derek Foreman <[email protected]> Date: Thu Jan 25 15:59:34 2018 -0600 ecore_wl2: Add API for setting buffer busy status and use it Since surfaces will be managed by plug-ins, we need to make sure they don't rely on internal structures. --- src/lib/ecore_wl2/Ecore_Wl2.h | 1 + src/lib/ecore_wl2/ecore_wl2_buffer.c | 8 ++++++++ src/lib/ecore_wl2/ecore_wl2_surface.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index 1e8faa6cd3..c67711181e 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -2008,6 +2008,7 @@ EAPI void ecore_wl2_buffer_discard(Ecore_Wl2_Buffer *buf); EAPI void ecore_wl2_buffer_unlock(Ecore_Wl2_Buffer *b); EAPI void ecore_wl2_buffer_destroy(Ecore_Wl2_Buffer *b); EAPI Eina_Bool ecore_wl2_buffer_busy_get(Ecore_Wl2_Buffer *buffer); +EAPI void ecore_wl2_buffer_busy_set(Ecore_Wl2_Buffer *buffer); EAPI Ecore_Wl2_Surface *ecore_wl2_surface_create(Ecore_Wl2_Window *win, Eina_Bool alpha); EAPI void ecore_wl2_surface_destroy(Ecore_Wl2_Surface *surface); diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c b/src/lib/ecore_wl2/ecore_wl2_buffer.c index 55b665d4ae..dfd63a8a1a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_buffer.c +++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c @@ -680,6 +680,14 @@ ecore_wl2_buffer_busy_get(Ecore_Wl2_Buffer *buffer) return (buffer->locked) || (buffer->busy); } +EAPI void +ecore_wl2_buffer_busy_set(Ecore_Wl2_Buffer *buffer) +{ + EINA_SAFETY_ON_NULL_RETURN(buffer); + + buffer->busy = EINA_TRUE; +} + static Ecore_Wl2_Buffer * _ecore_wl2_buffer_partial_create(int w, int h, Eina_Bool alpha) { diff --git a/src/lib/ecore_wl2/ecore_wl2_surface.c b/src/lib/ecore_wl2/ecore_wl2_surface.c index ff561c2edf..257f12c2fa 100644 --- a/src/lib/ecore_wl2/ecore_wl2_surface.c +++ b/src/lib/ecore_wl2/ecore_wl2_surface.c @@ -146,7 +146,7 @@ _evas_dmabuf_surface_post(Ecore_Wl2_Surface *s, Eina_Rectangle *rects, unsigned ecore_wl2_buffer_unlock(b); s->current = NULL; - b->busy = EINA_TRUE; + ecore_wl2_buffer_busy_set(b); b->age = 0; ecore_wl2_window_buffer_attach(s->wl2_win, b->wl_buffer, 0, 0, EINA_FALSE); --
