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 */
|
/* Required to keep track which of two available texture blending modes in d3ddevice3 is used */
|
||||||
BOOL legacyTextureBlending;
|
BOOL legacyTextureBlending;
|
||||||
|
BOOL from_surface;
|
||||||
|
|
||||||
D3DMATRIX legacy_projection;
|
D3DMATRIX legacy_projection;
|
||||||
D3DMATRIX legacy_clipspace;
|
D3DMATRIX legacy_clipspace;
|
||||||
|
|
||||||
|
@ -179,6 +179,13 @@ IDirect3DDeviceImpl_7_QueryInterface(IDirect3DDevice7 *iface,
|
|||||||
TRACE("(%p) Returning IDirect3DDevice7 interface at %p\n", This, *obj);
|
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 */
|
/* Unknown interface */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -199,6 +199,7 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
|
|||||||
if (d3d)
|
if (d3d)
|
||||||
{
|
{
|
||||||
device_impl = impl_from_IDirect3DDevice7(d3d);
|
device_impl = impl_from_IDirect3DDevice7(d3d);
|
||||||
|
device_impl->from_surface = TRUE;
|
||||||
*obj = &device_impl->IDirect3DDevice_iface;
|
*obj = &device_impl->IDirect3DDevice_iface;
|
||||||
TRACE("(%p) Returning IDirect3DDevice interface at %p\n", This, *obj);
|
TRACE("(%p) Returning IDirect3DDevice interface at %p\n", This, *obj);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
Loading…
Reference in New Issue
Block a user