Revert "ecore: forcefully flush pending event when ecore_shutdown is called."

This reverts commit 2c6808e4ee.

this breaks a number of expectations and guarantees in efl:

* causes unexpected event iteration during app startup before main loop begins
  - leads to event loss
* causes unexpected event iteration during app shutdown after main loop quits
  - leads to invalid memory access
* causes recursive event iteration during event handler callbacks
  - leads to ?????????????????????????????????????????????????????????????????

all of these can be easily seen by running enlightenment, and all of these cause
unexpected behaviors in enlightenment including, but not limited to, a lot of crashes

fix T5232
This commit is contained in:
Mike Blumenkrantz 2017-03-03 11:55:44 -05:00
parent 3d3ea8dd92
commit e263cbf9d0
2 changed files with 1 additions and 7 deletions

View File

@ -355,13 +355,6 @@ ecore_shutdown(void)
ERR("Init count not greater than 0 in shutdown.");
return 0;
}
// We need to flush all pending event as this is
// the only way to properly avoid use after free
// during shutdown of component that may have
// emitted and still pending event.
_ecore_event_call();
if (_ecore_init_count-- != _ecore_init_count_threshold)
goto end;

View File

@ -605,3 +605,4 @@ _ecore_event_signal_realtime_new(void)
{
return calloc(1, sizeof(Ecore_Event_Signal_Realtime));
}