Riccardo Bortolato : ddraw: Check for mipmap sublevel through caps in ddraw_surface7_SetColorKey().

Alexandre Julliard julliard at wine.codeweavers.com
Sun Jan 3 14:24:15 CST 2016


Module: wine
Branch: master
Commit: cb03e216e5a7081c118ad2567e1d6b9f98aafca1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cb03e216e5a7081c118ad2567e1d6b9f98aafca1

Author: Riccardo Bortolato <rikyz619 at gmail.com>
Date:   Tue Dec 22 22:43:41 2015 +0100

ddraw: Check for mipmap sublevel through caps in ddraw_surface7_SetColorKey().

Enabled some previously failing tests in ddraw/tests/ddraw7.c.

Signed-off-by: Riccardo Bortolato <rikyz619 at gmail.com>
Signed-off-by: Stefan Dösinger <stefandoesinger at gmx.at>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ddraw/surface.c      | 7 +------
 dlls/ddraw/tests/ddraw7.c | 8 ++++----
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 8a91d4b..87f5bb0 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -4726,13 +4726,8 @@ static HRESULT WINAPI ddraw_surface7_SetColorKey(IDirectDrawSurface7 *iface, DWO
 
     TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, color_key);
 
-    wined3d_mutex_lock();
-    if (!surface->wined3d_texture)
-    {
-        wined3d_mutex_unlock();
+    if (surface->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_MIPMAPSUBLEVEL)
         return DDERR_NOTONMIPMAPSUBLEVEL;
-    }
-    wined3d_mutex_unlock();
 
     return ddraw_surface_set_color_key(surface, flags, color_key);
 }
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 0fd6999..632dc7d 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -1764,15 +1764,15 @@ static void test_ck_complex(void)
     color_key.dwColorSpaceLowValue = 0x000000ff;
     color_key.dwColorSpaceHighValue = 0x000000ff;
     hr = IDirectDrawSurface7_SetColorKey(mipmap, DDCKEY_SRCBLT, &color_key);
-    todo_wine ok(SUCCEEDED(hr), "Failed to set color key, hr %#x.\n", hr);
+    ok(SUCCEEDED(hr), "Failed to set color key, hr %#x.\n", hr);
 
     color_key.dwColorSpaceLowValue = 0;
     color_key.dwColorSpaceHighValue = 0;
     hr = IDirectDrawSurface7_GetColorKey(mipmap, DDCKEY_SRCBLT, &color_key);
-    todo_wine ok(SUCCEEDED(hr), "Failed to get color key, hr %#x.\n", hr);
-    todo_wine ok(color_key.dwColorSpaceLowValue == 0x000000ff, "Got unexpected value 0x%08x.\n",
+    ok(SUCCEEDED(hr), "Failed to get color key, hr %#x.\n", hr);
+    ok(color_key.dwColorSpaceLowValue == 0x000000ff, "Got unexpected value 0x%08x.\n",
             color_key.dwColorSpaceLowValue);
-    todo_wine ok(color_key.dwColorSpaceHighValue == 0x000000ff, "Got unexpected value 0x%08x.\n",
+    ok(color_key.dwColorSpaceHighValue == 0x000000ff, "Got unexpected value 0x%08x.\n",
             color_key.dwColorSpaceHighValue);
 
     IDirectDrawSurface_AddRef(mipmap);




More information about the wine-cvs mailing list