Skip to content

Commit 436450d

Browse files
committed
Add IID_IDirectDrawSurface support for textures
1 parent 3225236 commit 436450d

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

Dllmain/BuildNo.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define BUILD_NUMBER 8074
1+
#define BUILD_NUMBER 8075

ddraw/IDirect3DTextureX.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,19 @@ HRESULT m_IDirect3DTextureX::QueryInterface(REFIID riid, LPVOID FAR * ppvObj, DW
5252
return D3D_OK;
5353
}
5454

55+
if (riid == IID_IDirectDrawSurface || riid == IID_IDirectDrawSurface2 || riid == IID_IDirectDrawSurface3 || riid == IID_IDirectDrawSurface4 || riid == IID_IDirectDrawSurface7)
56+
{
57+
m_IDirectDrawSurfaceX* pSurface = GetSurface();
58+
59+
if (!pSurface)
60+
{
61+
LOG_LIMIT(100, __FUNCTION__ << " Error: could not get surface!");
62+
return E_NOINTERFACE;
63+
}
64+
65+
return pSurface->QueryInterface(riid, ppvObj, GetGUIDVersion(riid));
66+
}
67+
5568
return ProxyQueryInterface(ProxyInterface, riid, ppvObj, GetWrapperType(DirectXVersion));
5669
}
5770

ddraw/IDirect3DTextureX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,5 +97,5 @@ class m_IDirect3DTextureX : public IUnknown, public AddressLookupTableDdrawObjec
9797
HRESULT m_IDirect3DTextureX::SetHandle(DWORD dwHandle);
9898

9999
// Surface functions
100-
m_IDirectDrawSurfaceX *GetSurface() const { return parent3DSurface.Interface; }
100+
m_IDirectDrawSurfaceX* GetSurface() const { return parent3DSurface.Interface; }
101101
};

0 commit comments

Comments
 (0)