[PATCH] ddraw: Avoid break in __TRY blocks.

Stefan Dösinger stefandoesinger at gmx.at
Tue Feb 14 15:56:55 CST 2017


This fixes compilation on Visual Studio with native compiler exceptions.

Signed-off-by: Stefan Dösinger <stefandoesinger at gmx.at>
---
 dlls/ddraw/ddraw.c | 36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 254dae7..54f3817 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2836,11 +2836,13 @@ static HRESULT WINAPI ddraw7_CreateSurface(IDirectDraw7 *iface, DDSURFACEDESC2 *
         if (FAILED(hr))
         {
             *surface = NULL;
-            break;
         }
-        *surface = &impl->IDirectDrawSurface7_iface;
-        IDirectDraw7_AddRef(iface);
-        impl->ifaceToRelease = (IUnknown *)iface;
+        else
+        {
+            *surface = &impl->IDirectDrawSurface7_iface;
+            IDirectDraw7_AddRef(iface);
+            impl->ifaceToRelease = (IUnknown *)iface;
+        }
     }
     __EXCEPT_PAGE_FAULT
     {
@@ -2898,11 +2900,13 @@ static HRESULT WINAPI ddraw4_CreateSurface(IDirectDraw4 *iface,
         if (FAILED(hr))
         {
             *surface = NULL;
-            break;
         }
-        *surface = &impl->IDirectDrawSurface4_iface;
-        IDirectDraw4_AddRef(iface);
-        impl->ifaceToRelease = (IUnknown *)iface;
+        else
+        {
+            *surface = &impl->IDirectDrawSurface4_iface;
+            IDirectDraw4_AddRef(iface);
+            impl->ifaceToRelease = (IUnknown *)iface;
+        }
     }
     __EXCEPT_PAGE_FAULT
     {
@@ -2962,10 +2966,12 @@ static HRESULT WINAPI ddraw2_CreateSurface(IDirectDraw2 *iface,
         if (FAILED(hr))
         {
             *surface = NULL;
-            break;
         }
-        *surface = &impl->IDirectDrawSurface_iface;
-        impl->ifaceToRelease = NULL;
+        else
+        {
+            *surface = &impl->IDirectDrawSurface_iface;
+            impl->ifaceToRelease = NULL;
+        }
     }
     __EXCEPT_PAGE_FAULT
     {
@@ -3022,10 +3028,12 @@ static HRESULT WINAPI ddraw1_CreateSurface(IDirectDraw *iface,
         if (FAILED(hr))
         {
             *surface = NULL;
-            break;
         }
-        *surface = &impl->IDirectDrawSurface_iface;
-        impl->ifaceToRelease = NULL;
+        else
+        {
+            *surface = &impl->IDirectDrawSurface_iface;
+            impl->ifaceToRelease = NULL;
+        }
     }
     __EXCEPT_PAGE_FAULT
     {
-- 
2.10.2




More information about the wine-patches mailing list