Set/WindowLong problem in user/win test
Alexandre Julliard
julliard at winehq.com
Wed Jan 1 19:03:06 CST 2003
Francois Gouget <fgouget at free.fr> writes:
> This test uses {Get,Set}WindowLongW which of course does not work on
> Win9x, thus causing the test to fail. I guess part of the goal is to
> check that mixing Ansi calls (CreatewindowExA) with Unicode calls works.
No, there's no real reason to use the W call since we only set parent
and style. We might as well replace all calls by the A version.
> So I wrote a function test_set_window_long function that calls
> SetWindowLongW and then SetWindowLongA and checks that their results
> match but that causes the test to fail (at least on NT4 and Wine).
> More precisely even if all this function does is the following, then the
> test fails:
>
> {
> LONG rc=SetWindowLongA(hwnd,nIndex,dwNewLong);
> SetWindowLongA(hwnd,nIndex,dwNewLong);
> return rc;
> }
>
> Comment out the second SetWindowLongA and it works. Why would calling
> SetWindowLong a second time make any difference?
The behavior of SetWindowLong(GWL_HWNDPARENT) depends on the current
parent, so calling it a second time with the same arguments is not
necessarily a nop.
--
Alexandre Julliard
julliard at winehq.com
More information about the wine-devel
mailing list