0.9.31 not suitable for gaming

Pavel Troller patrol at sinus.cz
Wed Feb 21 13:31:30 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.
  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);
    SetWindowLongW(window, GWL_STYLE, style);
    SetWindowLongW(window, GWL_EXSTYLE, exStyle);
    /* Inform the window about the update. */
    SetWindowPos(window, HWND_TOP, 0, 0,
            This->ddraw_width, This->ddraw_height, SWP_FRAMECHANGED);
    ShowWindow(window, TRUE);

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

More information about the wine-devel mailing list