Michael Stefaniuc : ddraw: Pass an IDirectDrawImpl* instead of an iface to ddraw_set_display_mode().

Alexandre Julliard julliard at winehq.org
Tue Jan 18 10:27:36 CST 2011


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Tue Jan 18 12:24:26 2011 +0100

ddraw: Pass an IDirectDrawImpl* instead of an iface to ddraw_set_display_mode().

---

 dlls/ddraw/ddraw.c |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index c0354ce..626993c 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -762,15 +762,14 @@ static HRESULT WINAPI ddraw1_SetCooperativeLevel(IDirectDraw *iface, HWND window
  * ddraw7_SetDisplayMode.
  *
  *****************************************************************************/
-static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD Height,
+static HRESULT ddraw_set_display_mode(IDirectDrawImpl *ddraw, DWORD Width, DWORD Height,
         DWORD BPP, DWORD RefreshRate, DWORD Flags)
 {
-    IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
     WINED3DDISPLAYMODE Mode;
     HRESULT hr;
 
-    TRACE("iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
-            iface, Width, Height, BPP, RefreshRate, Flags);
+    TRACE("ddraw %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n", ddraw, Width,
+            Height, BPP, RefreshRate, Flags);
 
     EnterCriticalSection(&ddraw_cs);
     if( !Width || !Height )
@@ -782,7 +781,7 @@ static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD He
     }
 
     /* Check the exclusive mode
-    if(!(This->cooperative_level & DDSCL_EXCLUSIVE))
+    if(!(ddraw->cooperative_level & DDSCL_EXCLUSIVE))
         return DDERR_NOEXCLUSIVEMODE;
      * This is WRONG. Don't know if the SDK is completely
      * wrong and if there are any conditions when DDERR_NOEXCLUSIVE
@@ -808,11 +807,9 @@ static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD He
      */
 
     /* TODO: Lose the primary surface */
-    hr = IWineD3DDevice_SetDisplayMode(This->wineD3DDevice,
-                                       0, /* First swapchain */
-                                       &Mode);
-    IWineD3DDevice_RestoreFullscreenWindow(This->wineD3DDevice, This->dest_window);
-    IWineD3DDevice_SetupFullscreenWindow(This->wineD3DDevice, This->dest_window, Width, Height);
+    hr = IWineD3DDevice_SetDisplayMode(ddraw->wineD3DDevice, 0, &Mode);
+    IWineD3DDevice_RestoreFullscreenWindow(ddraw->wineD3DDevice, ddraw->dest_window);
+    IWineD3DDevice_SetupFullscreenWindow(ddraw->wineD3DDevice, ddraw->dest_window, Width, Height);
     LeaveCriticalSection(&ddraw_cs);
     switch(hr)
     {
@@ -846,6 +843,8 @@ static HRESULT ddraw_set_display_mode(IDirectDraw7 *iface, DWORD Width, DWORD He
 static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD Width, DWORD Height,
         DWORD BPP, DWORD RefreshRate, DWORD Flags)
 {
+    IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
+
     TRACE("iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
             iface, Width, Height, BPP, RefreshRate, Flags);
 
@@ -856,7 +855,7 @@ static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD Width, DW
         RefreshRate = force_refresh_rate;
     }
 
-    return ddraw_set_display_mode(iface, Width, Height, BPP, RefreshRate, Flags);
+    return ddraw_set_display_mode(This, Width, Height, BPP, RefreshRate, Flags);
 }
 
 static HRESULT WINAPI ddraw4_SetDisplayMode(IDirectDraw4 *iface,
@@ -923,7 +922,7 @@ static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface)
 
     TRACE("iface %p.\n", iface);
 
-    return ddraw_set_display_mode(iface, This->orig_width, This->orig_height, This->orig_bpp, 0, 0);
+    return ddraw_set_display_mode(This, This->orig_width, This->orig_height, This->orig_bpp, 0, 0);
 }
 
 static HRESULT WINAPI ddraw4_RestoreDisplayMode(IDirectDraw4 *iface)




More information about the wine-cvs mailing list