0.9.31 not suitable for gaming

Pavel Troller patrol at sinus.cz
Thu Feb 22 08:04:27 CST 2007


> > On 21/02/07, Pavel Troller <patrol at 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



More information about the wine-devel mailing list