Henri Verbeet : ddraw: Simplify ddraw_destroy_swapchain().
Alexandre Julliard
julliard at winehq.org
Fri Apr 12 13:11:49 CDT 2019
Module: wine
Branch: master
Commit: f485816d102e517bc092934348ec9cddf624696b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f485816d102e517bc092934348ec9cddf624696b
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri Apr 12 17:38:46 2019 +0430
ddraw: Simplify ddraw_destroy_swapchain().
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ddraw/ddraw.c | 44 +++++++++++++++++---------------------------
1 file changed, 17 insertions(+), 27 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index cb7c12a..b209772 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -365,44 +365,34 @@ static ULONG WINAPI d3d1_AddRef(IDirect3D *iface)
static void ddraw_destroy_swapchain(struct ddraw *ddraw)
{
+ unsigned int i;
+ HRESULT hr;
+
TRACE("Destroying the swapchain.\n");
wined3d_swapchain_decref(ddraw->wined3d_swapchain);
ddraw->wined3d_swapchain = NULL;
- if (!(ddraw->flags & DDRAW_NO3D))
+ for (i = 0; i < ddraw->numConvertedDecls; ++i)
{
- UINT i;
+ wined3d_vertex_declaration_decref(ddraw->decls[i].decl);
+ }
+ heap_free(ddraw->decls);
+ ddraw->numConvertedDecls = 0;
- for (i = 0; i < ddraw->numConvertedDecls; ++i)
- {
- wined3d_vertex_declaration_decref(ddraw->decls[i].decl);
- }
- heap_free(ddraw->decls);
- ddraw->numConvertedDecls = 0;
+ if (FAILED(hr = wined3d_device_uninit_3d(ddraw->wined3d_device)))
+ ERR("Failed to uninit 3D, hr %#x.\n", hr);
- if (FAILED(wined3d_device_uninit_3d(ddraw->wined3d_device)))
- {
- ERR("Failed to uninit 3D.\n");
- }
- else
- {
- /* Free the d3d window if one was created. */
- if (ddraw->d3d_window && ddraw->d3d_window != ddraw->dest_window)
- {
- TRACE("Destroying the hidden render window %p.\n", ddraw->d3d_window);
- DestroyWindow(ddraw->d3d_window);
- ddraw->d3d_window = 0;
- }
- }
-
- ddraw->flags &= ~DDRAW_D3D_INITIALIZED;
- }
- else
+ /* Free the d3d window if one was created. */
+ if (ddraw->d3d_window && ddraw->d3d_window != ddraw->dest_window)
{
- wined3d_device_uninit_3d(ddraw->wined3d_device);
+ TRACE("Destroying the hidden render window %p.\n", ddraw->d3d_window);
+ DestroyWindow(ddraw->d3d_window);
+ ddraw->d3d_window = 0;
}
+ ddraw->flags &= ~DDRAW_D3D_INITIALIZED;
+
ddraw_set_swapchain_window(ddraw, NULL);
TRACE("Swapchain destroyed.\n");
More information about the wine-cvs
mailing list