From d8cab9347af00e791e168d3e47d0988582d1d097 Mon Sep 17 00:00:00 2001 From: Artem Popov Date: Fri, 19 Aug 2016 15:39:52 -0700 Subject: [PATCH] ecore_evas_ews: add proper clean up when quit the func @fix Summary: add proper clean up when quit the func (as per Raster comment) Reviewers: cedric, raster, jpeg, barbieri Reviewed By: barbieri Subscribers: raster, NikaWhite, myoungwoon, jpeg Differential Revision: https://phab.enlightenment.org/D4175 Signed-off-by: Cedric BAIL --- src/lib/ecore_evas/ecore_evas_ews.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_evas/ecore_evas_ews.c b/src/lib/ecore_evas/ecore_evas_ews.c index d409952ae2..904c5043fb 100644 --- a/src/lib/ecore_evas/ecore_evas_ews.c +++ b/src/lib/ecore_evas/ecore_evas_ews.c @@ -1323,7 +1323,13 @@ ecore_evas_ews_engine_set(const char *engine, const char *options) _ews_options = options ? strdup(options) : NULL; if ((engine) && (!_ews_engine)) return EINA_FALSE; - if ((options) && (!_ews_options)) return EINA_FALSE; + if ((options) && (!_ews_options)) + { + free(_ews_engine); + _ews_engine = NULL; + _ews_defaults_engine = EINA_TRUE; + return EINA_FALSE; + } _ews_defaults_engine = EINA_FALSE; return EINA_TRUE;