diff --git a/legacy/edje/ChangeLog b/legacy/edje/ChangeLog index 818cd33a7e..d61ca27e3f 100644 --- a/legacy/edje/ChangeLog +++ b/legacy/edje/ChangeLog @@ -569,3 +569,7 @@ * Textblock: Fixed issue with textblock fit not sizing correctly. This fix is not perfect. + +2012-08-29 Cedric Bail + + * Don't leak memory on edje block error during signal emit. diff --git a/legacy/edje/NEWS b/legacy/edje/NEWS index dddf53d024..75c558e046 100644 --- a/legacy/edje/NEWS +++ b/legacy/edje/NEWS @@ -33,6 +33,7 @@ Fixes: * Call edje_object_message_signal_process also on GROUP part Edje object. * Remove memory leak when alias are present in the edj file. * Properly destroy color_class and text_class on an Edje_Object. + * Stop leaking memory on edje block error during signal emit. Edje 1.2.0 diff --git a/legacy/edje/src/lib/edje_match.c b/legacy/edje/src/lib/edje_match.c index 375634e115..6cb41393a6 100644 --- a/legacy/edje/src/lib/edje_match.c +++ b/legacy/edje/src/lib/edje_match.c @@ -499,10 +499,17 @@ edje_match_callback_exec_check_finals(const Edje_Patterns *signal_ppat, { escb->func(escb->data, ed->obj, sig, source); if (_edje_block_break(ed)) - return 0; + { + r = 0; + break; + } if ((signal_ppat->delete_me) || (source_ppat->delete_me)) - return 0; + { + r = 0; + break; + } } + eina_array_flush(&run); return r;