On Wed, Mar 18, 2009 at 1:34 PM, Nicolas Le Cam <niko.le...@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.