From d92b195fe2913e773455d28998f06d662f36b9d2 Mon Sep 17 00:00:00 2001 From: Wonki Kim Date: Wed, 16 May 2018 11:41:19 -0400 Subject: [PATCH] ecore_evas_extn: Remove aka latch logic on fn_prepare function Summary: current extn_socket_prepare function logic could run into dead-end because extnbuf_lock return null on failure of taking a lock. this patch removes aka latch logic that guide the function to dead-end. Reviewers: cedric, raster, zmike, jypark Subscribers: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6054 --- .../ecore_evas/engines/extn/ecore_evas_extn.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c index 21b3c1ea06..38b00547db 100644 --- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c +++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c @@ -1513,16 +1513,19 @@ _ecore_evas_extn_socket_prepare(Ecore_Evas *ee) { Extn *extn; Ecore_Evas_Engine_Buffer_Data *bdata = ee->engine.data; - int cur_b; + void *pixels = NULL; extn = bdata->data; if (!extn) return EINA_FALSE; - if (bdata->pixels) + if (extn->b[extn->cur_b].buf) { - cur_b = extn->cur_b; - bdata->pixels = _extnbuf_lock(extn->b[cur_b].buf, NULL, NULL, NULL); - return EINA_TRUE; + pixels = _extnbuf_lock(extn->b[extn->cur_b].buf, NULL, NULL, NULL); + if (pixels) + { + bdata->pixels = pixels; + return EINA_TRUE; + } } return EINA_FALSE; }