From: Derek Foreman Date: Thu, 16 Nov 2017 19:16:19 +0000 (-0600) Subject: ecore_wl2: Fix dmabuf test failure X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~1649 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=925be86f9e4093aa3fc5d27819951dc55c3faa04;p=platform%2Fupstream%2Fefl.git ecore_wl2: Fix dmabuf test failure We need to destroy the buffer manager on fail, since it will exist but only be able to create buffers we can't actually use. --- diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c b/src/lib/ecore_wl2/ecore_wl2_buffer.c index 9363c1b..08a6df0 100644 --- a/src/lib/ecore_wl2/ecore_wl2_buffer.c +++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c @@ -456,7 +456,6 @@ _buffer_manager_deref(void) if (drm_fd >=0) close(drm_fd); } -/* Currently no callers, but that will change... static void _buffer_manager_destroy(void) { @@ -464,7 +463,6 @@ _buffer_manager_destroy(void) buffer_manager->destroyed = EINA_TRUE; _buffer_manager_deref(); } -*/ static Buffer_Handle * _buffer_manager_alloc(const char *name, int w, int h, unsigned long *stride, int32_t *fd) @@ -585,6 +583,8 @@ _create_failed(void *data, struct zwp_linux_buffer_params_v1 *params) Ecore_Wl2_Display *ewd = data; zwp_linux_buffer_params_v1_destroy(params); + _buffer_manager_deref(); + _buffer_manager_destroy(); ewd->wl.dmabuf = NULL; } @@ -614,5 +614,6 @@ _ecore_wl2_buffer_test(Ecore_Wl2_Display *ewd) return; fail: + _buffer_manager_destroy(); ewd->wl.dmabuf = NULL; }