Henri Verbeet : d3dx9: Simplify D3DXLoadSurfaceFromResourceW().

Alexandre Julliard julliard at winehq.org
Wed Aug 28 14:03:08 CDT 2013


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Aug 28 10:10:00 2013 +0200

d3dx9: Simplify D3DXLoadSurfaceFromResourceW().

---

 dlls/d3dx9_36/surface.c |   27 +++++++++++----------------
 1 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index a2b553b..9b76457 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -1268,7 +1268,9 @@ HRESULT WINAPI D3DXLoadSurfaceFromResourceW(IDirect3DSurface9 *dst_surface,
         const PALETTEENTRY *dst_palette, const RECT *dst_rect, HMODULE src_module, const WCHAR *resource,
         const RECT *src_rect, DWORD filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info)
 {
-    HRSRC hResInfo;
+    UINT data_size;
+    HRSRC resinfo;
+    void *data;
 
     TRACE("dst_surface %p, dst_palette %p, dst_rect %s, src_module %p, resource %s, "
             "src_rect %s, filter %#x, color_key 0x%08x, src_info %p.\n",
@@ -1278,23 +1280,16 @@ HRESULT WINAPI D3DXLoadSurfaceFromResourceW(IDirect3DSurface9 *dst_surface,
     if (!dst_surface)
         return D3DERR_INVALIDCALL;
 
-    hResInfo = FindResourceW(src_module, resource, (const WCHAR *)RT_RCDATA);
-    if (!hResInfo) /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */
-        hResInfo = FindResourceW(src_module, resource, (const WCHAR *)RT_BITMAP);
-
-    if (hResInfo)
-    {
-        UINT data_size;
-        void *data;
-
-        if (FAILED(load_resource_into_memory(src_module, hResInfo, &data, &data_size)))
-            return D3DXERR_INVALIDDATA;
+    if (!(resinfo = FindResourceW(src_module, resource, (const WCHAR *)RT_RCDATA))
+            /* Try loading the resource as bitmap data (which is in DIB format D3DXIFF_DIB) */
+            && !(resinfo = FindResourceW(src_module, resource, (const WCHAR *)RT_BITMAP)))
+        return D3DXERR_INVALIDDATA;
 
-        return D3DXLoadSurfaceFromFileInMemory(dst_surface, dst_palette, dst_rect,
-                data, data_size, src_rect, filter, color_key, src_info);
-    }
+    if (FAILED(load_resource_into_memory(src_module, resinfo, &data, &data_size)))
+        return D3DXERR_INVALIDDATA;
 
-    return D3DXERR_INVALIDDATA;
+    return D3DXLoadSurfaceFromFileInMemory(dst_surface, dst_palette, dst_rect,
+            data, data_size, src_rect, filter, color_key, src_info);
 }
 
 




More information about the wine-cvs mailing list