shell32/tests: Fix a test on Win2k platform and above.

Nicolas Le Cam niko.lecam at
Wed Mar 18 11:46:06 CDT 2009

2009/3/18 Vincent Povirk <madewokherd+8cd9 at>:
> On Wed, Mar 18, 2009 at 9:39 AM, Nicolas Le Cam <niko.lecam at> wrote:
>> I don't think calling SHAppBarMessage with ABM_REMOVE destroy the
>> window and the ABN_POSCHANGED notification is catched between this
>> call and the DestroyWindow one. But this particular behaviour only
>> happens on Win2k and perhaps previous windows versions (should be
>> tested) not on XP and later ones, that's why I wanted to keep your
>> approach and mark this particular behaviour as broken (even if I
>> didn't use the right approach as noticed by Paul) to force wine to
>> behave like recent windows versions
> Wine DOES send a notification to all other appbars when one appbar is
> removed. However, Wine's SHAppBarMessage will never processes messages
> in the queue, nor will DestroyWindow.
> I really think you're getting the notification from destroying
> appbar2, and you just happen to be getting it late. Windows'
> implementation does have a tendency to send us late messages.
> The failure does not indicate that Wine is behaving more like winxp
> than win2k. It doesn't tell us anything helpful at all, as the details
> are something no real app should ever rely on. Nor is it a broken way
> to implement this API.
> I think this case should pass even on Wine.
> Vincent Povirk
Message notification comes from appbar3, I've checked hwnd handles.
When calling last ABM_REMOVE there's no more appbars so Wine shouldn't
send any notifications, if it does the broken macro (that will come
with try2) will catch that.

Nicolas Le Cam

More information about the wine-devel mailing list