event-loop: Fix idle handler dispatch corner case
authorKristian Høgsberg <krh@bitplanet.net>
Sat, 29 Oct 2011 18:27:33 +0000 (14:27 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Sat, 29 Oct 2011 18:27:33 +0000 (14:27 -0400)
commitf86338d611305fb84187298cbab5dfc78a698c99
tree7e183f3582d7e691c8a517bcaa2b857b391eccbc
parent7e57dc143e0647502668753e9cd8d2a8582d4a6e
event-loop: Fix idle handler dispatch corner case

When the last idle handler queues another idle handler, we fail to
dispatch that last handler.  The wl_list_for_each_safe loop looks up
the next pointer before running the handler, and at that point it points
to the head of the list and the loop terminates.

Instead, just loop until the list is empty.
src/event-loop.c