Jose Alonso alonso@estadao.com.br writes:
The timer was not restarted in (3), because the message is removed in remove_queue_message.
DECL_HANDLER(get_message) ... if (get_posted_message( queue, ... ... get_posted_message ... remove_queue_message( queue, msg, POST_MESSAGE );
WM_TIMER messages are not posted, so the message can't possibly be removed by get_posted_message. It will be handled in find_expired_timer, which will return a new message and restart the timer.