On Wed, Mar 18, 2009 at 1:34 PM, Nicolas Le Cam niko.lecam@gmail.com wrote:
Ok, did more testing ... It seems you're right, adding a do_events() call after each DestroyWindow() one seems to fix the test on Win2k. Do you think this is a better fix ?
No, that probably creates a race condition. I've seen the windows implementation post messages after SHAppBarMessage returns, and it may sometimes post the notification between do_events() and the next SHAppBarMessage call.
In general, do_events() cannot reliably catch messages that are posted as a result of a previous SHABM call.
I still think that removing the code resetting GWLP_USERDATA is the best fix.