On 21/02/07, Pavel Troller patrol@sinus.cz wrote:
The last trace which appeared in the log is 2683, so IWineD3DDevice_CreateAdditionalSwapChain() didn't return. I'm going bananas from those names; where the hell this one grows :-) ? grep, as obvious, shows its calls only.
IWineD3DDeviceImpl_CreateAdditionalSwapChain() in dlls/wined3d/device.c. IWineD3DDevice_CreateAdditionalSwapChain is actually a macro defined in include/wine/wined3d_interface.h.
Thanks, traced a few calls deeper. Now I'm standing at
static void WINAPI IWineD3DDeviceImpl_SetupFullscreenWindow(IWineD3DDevice *iface, HWND window) { IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
LONG style, exStyle; /* Don't do anything if an original style is stored. * That shouldn't happen */ TRACE("(%p): Setting up window %p for exclusive mode\n", This, window); if (This->style || This->exStyle) { ERR("(%p): Want to change the window parameters of HWND %p, but " "another style is stored for restoration afterwards\n", This, window); } /* Get the parameters and save them */ style = GetWindowLongW(window, GWL_STYLE); exStyle = GetWindowLongW(window, GWL_EXSTYLE); This->style = style; This->exStyle = exStyle; /* Filter out window decorations */ style &= ~WS_CAPTION; style &= ~WS_THICKFRAME; exStyle &= ~WS_EX_WINDOWEDGE; exStyle &= ~WS_EX_CLIENTEDGE; /* Make sure the window is managed, otherwise we won't get keyboard input */ style |= WS_POPUP | WS_SYSMENU; TRACE("Old style was %08x,%08x, setting to %08x,%08x\n", This->style, This->exStyle, style, exStyle);
TRACE("1184\n"); SetWindowLongW(window, GWL_STYLE, style); SetWindowLongW(window, GWL_EXSTYLE, exStyle); TRACE("1187\n"); /* Inform the window about the update. */ SetWindowPos(window, HWND_TOP, 0, 0, This->ddraw_width, This->ddraw_height, SWP_FRAMECHANGED); TRACE("1191\n"); ShowWindow(window, TRUE); TRACE("1193\n"); }
The last trace executed is 1187, which looks that SetWindowPos doesn't return. Should I trace even more deep, or is anybody getting an idea, what can be wrong here ? Where is SetWindowPos located ?
With regards, Pavel Troller
Hi! Because I had to restore working wine, I did the following: 1) Restored original files 2) Pulled today's version 3) Compiled and verified ... Fallout tactics still didn't start with the obvious symptoms. So I commented out the SetWindowPos() call in ..._SetupFullscreenWindow (on lines 1251&2 of the today's source) and... voilla, the game starts and runs perfectly. My son has verified it and didn't find any problems. Then he tried HL2 and it seems also fully functional. So... The bug is still there, but my workaround fixes it for me and I didn't find any drawbacks (trying a lot of programs I'm using like IDA and some special telco programs). Because I didn't read anything from Stefan for a while, I'll wait a bit more and then I'll create a bugzilla record for it. Is it ok ?
With regards, Pavel Troller