diff --git a/reactos/dll/directx/ddraw/Surface/createsurface.c b/reactos/dll/directx/ddraw/Surface/createsurface.c
index a7b00967d4f..65dc9137f54 100644
--- a/reactos/dll/directx/ddraw/Surface/createsurface.c
+++ b/reactos/dll/directx/ddraw/Surface/createsurface.c
@@ -21,7 +21,7 @@ CreatePrimarySurface(LPDDRAWI_DIRECTDRAW_INT This,
That[0]->lpLcl->lpSurfMore->slist = lpLcl;
- //That[0]->lpVtbl = &DirectDrawSurface7_Vtable; // FixMe !
+ That[0]->lpVtbl = &DirectDrawSurface7_Vtable;
That[0]->lpLcl->lpSurfMore->dwSize = sizeof(DDRAWI_DDRAWSURFACE_MORE);
That[0]->lpLcl->lpSurfMore->lpDD_int = This;
That[0]->lpLcl->lpSurfMore->lpDD_lcl = This->lpLcl;
@@ -113,7 +113,7 @@ CreateBackBufferSurface(LPDDRAWI_DIRECTDRAW_INT This,
That[t]->lpLcl->lpSurfMore->slist = lpLcl;
- //That[t]->lpVtbl = &DirectDrawSurface7_Vtable; // FixMe !
+ That[t]->lpVtbl = &DirectDrawSurface7_Vtable;
That[t]->lpLcl->lpSurfMore->dwSize = sizeof(DDRAWI_DDRAWSURFACE_MORE);
That[t]->lpLcl->lpSurfMore->lpDD_int = This;
That[t]->lpLcl->lpSurfMore->lpDD_lcl = This->lpLcl;
diff --git a/reactos/dll/directx/ddraw/Surface/surface_main.c b/reactos/dll/directx/ddraw/Surface/surface_main.c
index e1260e9b475..44d836c4038 100644
--- a/reactos/dll/directx/ddraw/Surface/surface_main.c
+++ b/reactos/dll/directx/ddraw/Surface/surface_main.c
@@ -58,17 +58,6 @@ ULONG WINAPI Main_DDrawSurface_Release(LPDIRECTDRAWSURFACE7 iface)
return This->dwIntRefCnt;
}
-HRESULT WINAPI
-Main_DDrawSurface_QueryInterface(LPDIRECTDRAWSURFACE7 iface, REFIID riid,
- LPVOID* ppObj)
-{
- DX_WINDBG_trace();
-
- DX_STUB_str("Unimplement\n");
-
- return E_NOINTERFACE;
-}
-
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
{
diff --git a/reactos/dll/directx/ddraw/ddraw.rbuild b/reactos/dll/directx/ddraw/ddraw.rbuild
index 4473c138bf6..78f79a338cd 100644
--- a/reactos/dll/directx/ddraw/ddraw.rbuild
+++ b/reactos/dll/directx/ddraw/ddraw.rbuild
@@ -28,7 +28,8 @@
callbacks_dd_hel.c
- surface_stubs.c
+ surface_stubs.c
+ surface_main.c
callbacks_surf_hel.c
createsurface.c
diff --git a/reactos/dll/directx/ddraw/rosdraw.h b/reactos/dll/directx/ddraw/rosdraw.h
index cdabfee590d..c1e088ec8ef 100644
--- a/reactos/dll/directx/ddraw/rosdraw.h
+++ b/reactos/dll/directx/ddraw/rosdraw.h
@@ -125,6 +125,7 @@ HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7, LPRECT, LPDDSURFACE
HRESULT WINAPI Main_DDrawSurface_Restore(LPDIRECTDRAWSURFACE7);
HRESULT WINAPI Main_DDrawSurface_UpdateOverlay (LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT,
DWORD, LPDDOVERLAYFX);
+HRESULT WINAPI Main_DDrawSurface_ChangeUniquenessValue(LPDIRECTDRAWSURFACE7 iface);
ULONG WINAPI DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface);