0.9.31 not suitable for gaming

Pavel Troller patrol at sinus.cz
Wed Feb 21 10:38:51 CST 2007

> On 21/02/07, Pavel Troller <patrol at sinus.cz> wrote:
> >I'm a bit confusd because I failed to find the code for
> >D3DCB_CreateAdditionalSwapChain(), I found only its call in device.c and 
> >its
> >definition in wined3d_interface.h.
> That's D3D7CB_CreateAdditionalSwapChain() in dlls/ddraw/ddraw.c
  OK, thanks, found it now.
  I've modified its code by inserting many traces:

    ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, device);
    IParentImpl *object = NULL;
    HRESULT res = D3D_OK;
    IWineD3DSwapChain *swapchain;
    TRACE("(%p) call back\n", device);
    TRACE("$$$$ 2672\n");
    object = HeapAlloc(GetProcessHeap(),  HEAP_ZERO_MEMORY, sizeof(IParentImpl));
    TRACE("$$$$ 2674\n");
    if (NULL == object)
        FIXME("Allocation of memory failed\n");
        *ppSwapChain = NULL;
    TRACE("$$$$ 2681\n");
    ICOM_INIT_INTERFACE(object, IParent, IParent_Vtbl);
    TRACE("$$$$ 2683\n");
    object->ref = 1;

    res = IWineD3DDevice_CreateAdditionalSwapChain(This->wineD3DDevice,
                                                   (IUnknown*) ICOM_INTERFACE(object, IParent),
    TRACE("$$$$ 2692\n");
    if (res != D3D_OK)
        FIXME("(%p) call to IWineD3DDevice_CreateAdditionalSwapChain failed\n", This);
        HeapFree(GetProcessHeap(), 0 , object);
        *ppSwapChain = NULL;
        *ppSwapChain = swapchain;
        object->child = (IUnknown *) swapchain;
    TRACE("$$$$ Returning\n");
    return res;

  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.
                  With regards, Pavel Troller

More information about the wine-devel mailing list