http://bugs.winehq.com/show_bug.cgi?id=1240
------- Additional Comments From winebug@flonet.net 2003-23-06 12:48 ------- Bug comments restored from Gmane.org:
As shown in the URL image, what should be an invisible child window has the WS_CAPTION style set.
trace:win:CreateWindowExW classname=#8002 stylehex=40c00440 trace:win:WIN_CreateWindowEx L"" L"#32770" ex=00000000 style=40c00440 -3,-22 456x253 parent=0x10021 menu=(nil) inst=0x400000 params=(nil) trace:win:WIN_CreateWindowEx Styles before adjustment: trace:win:dump_window_styles style: WS_CHILD WS_CAPTION 00000440 trace:win:dump_window_styles exstyle: trace:win:WIN_CreateWindowEx winproc type is 3 (WIN_PROC_32W) trace:class:CLASS_FindClassByAtom 0x00008002 0x400000 trace:class:CLASS_FindClassByAtom -- found global 0x40388118 0807a218:Call ntdll.RtlAllocateHeap(40360000,00000000,000000a2) ret=408be1fd 0807a218:Ret ntdll.RtlAllocateHeap() retval=403a0458 ret=408be1fd trace:win:WIN_CreateWindowEx Styles after adjustment: trace:win:dump_window_styles style: WS_CHILD WS_CAPTION 00000440 trace:win:dump_window_styles exstyle: WS_EX_WINDOWEDGE trace:win:WIN_SetWindowLong 0x1002f -12 0 3 0807a218:Call x11drv.CreateWindow(0001002f,406b2884,00000001) ret=408bfffc
The app I'm testing with is at http://rhymbox.com/download/start.pl
The installer itself appears to set the WS_CAPTION flag when calling CreateWindowEx. In Windows, spy++ shows that this flag isn't set, but the usage of vc++ lazy bindings mean I can't get an API trace under windows :(
------- Additional Comments From andi <at> rhlx01.fht-esslingen.de 2003-01-26 18:36 ------- The only place in Wine to fix up WS_CAPTION is:
/* Correct the window style - stage 2 */
if (!(cs->style & WS_CHILD)) { wndPtr->dwStyle |= WS_CLIPSIBLINGS; if (!(cs->style & WS_POPUP)) { wndPtr->dwStyle |= WS_CAPTION; wndPtr->flags |= WIN_NEED_SIZE; } }
in windows/win.c/WIN_CreateWindowEx()
Checking windows/win.c cvs log, I'm thinking about:
---------------------------- revision 1.214 date: 2003/01/08 19:53:47; author: julliard; state: Exp; lines: +2 -2 Duane Clark <dclark <at> akamail.com> WS_CAPTION is a two bit field, so test appropriately. ---------------------------- Hmm, could it be that this recent change caused you to notice the WS_CAPTION problem ?
The WS_CAPTION fixup has been in windows/win.c since its CVS beginnings, BTW.
I think we can safely confirm this bug.
So the question is: what exactly should be corrected in that function and how ?