mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 20:59:54 +00:00
ddraw: Allow querying the surface interface if a device was created from a surface.
This commit is contained in:
parent
c70e17e806
commit
cf636cc3b3
@ -299,6 +299,8 @@ struct IDirect3DDeviceImpl
|
||||
|
||||
/* Required to keep track which of two available texture blending modes in d3ddevice3 is used */
|
||||
BOOL legacyTextureBlending;
|
||||
BOOL from_surface;
|
||||
|
||||
D3DMATRIX legacy_projection;
|
||||
D3DMATRIX legacy_clipspace;
|
||||
|
||||
|
@ -179,6 +179,13 @@ IDirect3DDeviceImpl_7_QueryInterface(IDirect3DDevice7 *iface,
|
||||
TRACE("(%p) Returning IDirect3DDevice7 interface at %p\n", This, *obj);
|
||||
}
|
||||
|
||||
/* DirectDrawSurface */
|
||||
else if (IsEqualGUID(&IID_IDirectDrawSurface, refiid) && This->from_surface)
|
||||
{
|
||||
*obj = &This->target->IDirectDrawSurface_iface;
|
||||
TRACE("Returning IDirectDrawSurface interface %p.\n", *obj);
|
||||
}
|
||||
|
||||
/* Unknown interface */
|
||||
else
|
||||
{
|
||||
|
@ -199,6 +199,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
|
||||
if (d3d)
|
||||
{
|
||||
device_impl = impl_from_IDirect3DDevice7(d3d);
|
||||
device_impl->from_surface = TRUE;
|
||||
*obj = &device_impl->IDirect3DDevice_iface;
|
||||
TRACE("(%p) Returning IDirect3DDevice interface at %p\n", This, *obj);
|
||||
return S_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user