forked from enlightenment/efl
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:
parent
3d3ea8dd92
commit
e263cbf9d0
|
@ -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;
|
||||
|
||||
|
|
|
@ -605,3 +605,4 @@ _ecore_event_signal_realtime_new(void)
|
|||
{
|
||||
return calloc(1, sizeof(Ecore_Event_Signal_Realtime));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue