diff --git a/src/main.c b/src/main.c index 9a8b4ae..66bb32c 100644 --- a/src/main.c +++ b/src/main.c @@ -1287,11 +1287,13 @@ HRESULT __stdcall ddraw_QueryInterface(IDirectDrawImpl *This, REFIID riid, void ddraw_AddRef(This); This->lpVtbl->SetDisplayMode2 = ddraw_SetDisplayMode2; + *obj = This; + return S_OK; } *obj = This; - return S_OK; + return DDERR_UNSUPPORTED; } ULONG __stdcall ddraw_Release(IDirectDrawImpl *This) diff --git a/src/surface.c b/src/surface.c index dae3106..2ae190e 100644 --- a/src/surface.c +++ b/src/surface.c @@ -593,6 +593,7 @@ HRESULT __stdcall ddraw_surface_GetSurfaceDesc(IDirectDrawSurfaceImpl *This, LPD lpDDSurfaceDesc->ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT); lpDDSurfaceDesc->ddpfPixelFormat.dwFlags = DDPF_RGB; lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount = This->bpp; + lpDDSurfaceDesc->ddsCaps.dwCaps = This->caps; if (This->bpp == 8) {