efl-flush.patch
March 27, 2026 ยท View on GitHub
diff '--color=auto' -ur efl.orig/src/lib/ecore/efl_loop.c efl/src/lib/ecore/efl_loop.c --- efl.orig/src/lib/ecore/efl_loop.c 2025-03-17 16:43:43.000000000 +0100 +++ efl/src/lib/ecore/efl_loop.c 2026-03-27 17:07:58.288322245 +0100 @@ -639,6 +639,24 @@
EOAPI EFL_FUNC_BODY(efl_loop_message_process, Eina_Bool, 0);
+EOLIAN static void +_efl_loop_message_pending_flush(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd) +{
- Message *msg;
- while (pd->message_pending_queue)
-
{ -
msg = (Message *)pd->message_pending_queue; -
pd->message_pending_queue = eina_inlist_remove(pd->message_pending_queue, -
pd->message_pending_queue); -
if ((msg->handler) && (msg->message) && (!msg->delete_me)) -
pd->message_queue = eina_inlist_append(pd->message_queue, -
EINA_INLIST_GET(msg)); -
else -
free(msg); -
}
+}
+
EWAPI void
efl_build_version_set(int vmaj, int vmin, int vmic, int revision,
const char *flavor, const char *build_id)
diff '--color=auto' -ur efl.orig/src/lib/ecore/efl_loop.eo efl/src/lib/ecore/efl_loop.eo
--- efl.orig/src/lib/ecore/efl_loop.eo 2025-03-17 16:43:43.000000000 +0100
+++ efl/src/lib/ecore/efl_loop.eo 2026-03-27 17:26:40.738347320 +0100
@@ -105,6 +105,14 @@
}
return: future
-
message_pending_flush { -
[[Flush pending messages into the main message queue. -
Moves messages from the pending queue to the main queue immediately. -
Use this before @.iterate when driving the loop manually instead -
of @.begin, for example to implement caller-controlled nested loops. -
]] -
} events { idle,enter @restart: void; [[Event occurs once the main loop enters the idle state.]]}