d3d8: Move D3D8CB_DestroySwapChain() to device.c.
diff --git a/dlls/d3d8/d3d8_private.h b/dlls/d3d8/d3d8_private.h
index 8464190..141aa92 100644
--- a/dlls/d3d8/d3d8_private.h
+++ b/dlls/d3d8/d3d8_private.h
@@ -622,7 +622,4 @@
         WINED3DVERTEXELEMENT **wined3d_elements) DECLSPEC_HIDDEN;
 size_t parse_token(const DWORD *pToken) DECLSPEC_HIDDEN;
 
-/* Callbacks */
-extern ULONG WINAPI D3D8CB_DestroySwapChain(IWineD3DSwapChain *pSwapChain) DECLSPEC_HIDDEN;
-
 #endif /* __WINE_D3DX8_PRIVATE_H */
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index a20b9f4..eb26d73 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -253,6 +253,17 @@
     return entry->object;
 }
 
+static ULONG WINAPI D3D8CB_DestroySwapChain(IWineD3DSwapChain *swapchain)
+{
+    IUnknown *parent;
+
+    TRACE("swapchain %p.\n", swapchain);
+
+    IWineD3DSwapChain_GetParent(swapchain, &parent);
+    IUnknown_Release(parent);
+    return IUnknown_Release(parent);
+}
+
 /* IDirect3D IUnknown parts follow: */
 static HRESULT WINAPI IDirect3DDevice8Impl_QueryInterface(LPDIRECT3DDEVICE8 iface,REFIID riid,LPVOID *ppobj)
 {
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index f9b8c45..8bcd5ab 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -331,16 +331,6 @@
     return ret;
 }
 
-ULONG WINAPI D3D8CB_DestroySwapChain(IWineD3DSwapChain *pSwapChain) {
-    IUnknown* swapChainParent;
-
-    TRACE("swapchain %p.\n", pSwapChain);
-
-    IWineD3DSwapChain_GetParent(pSwapChain, &swapChainParent);
-    IUnknown_Release(swapChainParent);
-    return IUnknown_Release(swapChainParent);
-}
-
 static HRESULT WINAPI IDirect3D8Impl_CreateDevice(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type,
         HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters, IDirect3DDevice8 **device)
 {