On Thu, 2005-04-14 at 20:44 +0200, Alexandre Julliard wrote:
The WM_TIMER cannot "remain in the queue", it's never put there in the first place, it's generated on the fly. If you really see a WM_TIMER in the posted message queue, it's because someone has done a PostMessage on it, and that would definitely be a bug. I doubt it's the problem you are seeing though.
Ok. I made a wrong assumption. Continuing to investigate the problem, I found that: DispatchMessageW (2) is calling TimerProc and TimerProc is posting a WM_TIMER message. I am attaching a small program to reproduce this. If you click 'File' then happens the loop I mentioned.
I think one possible solution to avoid this case is the attached patch. (I think it's safe to remove unconditionally a message that will be dispatched).
alonso