[PATCH 1/5] ddraw: Replace the various BOOLs in struct ddraw with a flags field.
Henri Verbeet
hverbeet at codeweavers.com
Thu May 30 03:05:32 CDT 2013
---
dlls/ddraw/ddraw.c | 18 +++++++++---------
dlls/ddraw/ddraw_private.h | 8 +++++---
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index b2b637e..7eda266 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -392,7 +392,7 @@ void ddraw_destroy_swapchain(struct ddraw *ddraw)
}
}
- ddraw->d3d_initialized = FALSE;
+ ddraw->flags &= ~DDRAW_D3D_INITIALIZED;
}
else
{
@@ -586,11 +586,11 @@ static HRESULT ddraw_attach_d3d_device(struct ddraw *ddraw,
/* Set this NOW, otherwise creating the depth stencil surface will cause a
* recursive loop until ram or emulated video memory is full. */
- ddraw->d3d_initialized = TRUE;
+ ddraw->flags |= DDRAW_D3D_INITIALIZED;
hr = wined3d_device_init_3d(ddraw->wined3d_device, swapchain_desc);
if (FAILED(hr))
{
- ddraw->d3d_initialized = FALSE;
+ ddraw->flags &= ~DDRAW_D3D_INITIALIZED;
return hr;
}
@@ -1025,7 +1025,7 @@ static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD width, DW
/* TODO: Lose the primary surface. */
if (SUCCEEDED(hr = wined3d_set_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode)))
{
- ddraw->restore_mode = TRUE;
+ ddraw->flags |= DDRAW_RESTORE_MODE;
restore_mode = TRUE;
}
@@ -1088,7 +1088,7 @@ static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface)
wined3d_mutex_lock();
- if (!ddraw->restore_mode)
+ if (!(ddraw->flags & DDRAW_RESTORE_MODE))
{
wined3d_mutex_unlock();
return DD_OK;
@@ -1102,7 +1102,7 @@ static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface)
if (SUCCEEDED(hr = wined3d_set_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &original_mode)))
{
- ddraw->restore_mode = FALSE;
+ ddraw->flags &= ~DDRAW_RESTORE_MODE;
restore_mode = FALSE;
}
@@ -1687,7 +1687,7 @@ static HRESULT WINAPI ddraw7_Initialize(IDirectDraw7 *iface, GUID *guid)
TRACE("iface %p, guid %s.\n", iface, debugstr_guid(guid));
- if (ddraw->initialized)
+ if (ddraw->flags & DDRAW_INITIALIZED)
return DDERR_ALREADYINITIALIZED;
/* FIXME: To properly take the GUID into account we should call
@@ -1695,7 +1695,7 @@ static HRESULT WINAPI ddraw7_Initialize(IDirectDraw7 *iface, GUID *guid)
if (guid)
FIXME("Ignoring guid %s.\n", debugstr_guid(guid));
- ddraw->initialized = TRUE;
+ ddraw->flags |= DDRAW_INITIALIZED;
return DD_OK;
}
@@ -4473,7 +4473,7 @@ static HRESULT WINAPI d3d7_EvictManagedTextures(IDirect3D7 *iface)
TRACE("iface %p!\n", iface);
wined3d_mutex_lock();
- if (ddraw->d3d_initialized)
+ if (ddraw->flags & DDRAW_D3D_INITIALIZED)
wined3d_device_evict_managed_resources(ddraw->wined3d_device);
wined3d_mutex_unlock();
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index 25985bd..6b4fedc 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -56,6 +56,10 @@ struct FvfToDecl
struct wined3d_vertex_declaration *decl;
};
+#define DDRAW_INITIALIZED 0x00000001
+#define DDRAW_D3D_INITIALIZED 0x00000002
+#define DDRAW_RESTORE_MODE 0x00000004
+
struct ddraw
{
/* Interfaces */
@@ -71,12 +75,10 @@ struct ddraw
/* See comment in IDirectDraw::AddRef */
LONG ref7, ref4, ref2, ref3, ref1, numIfaces;
- BOOL initialized;
struct wined3d *wined3d;
struct wined3d_device *wined3d_device;
- BOOL d3d_initialized;
- BOOL restore_mode;
+ DWORD flags;
struct ddraw_surface *primary;
RECT primary_lock;
--
1.8.1.5
More information about the wine-patches
mailing list