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