Erich Hoover : ddraw: Convert calls to DirectDrawEnumerate into DirectDrawEnumerateEx.
Alexandre Julliard
julliard at winehq.org
Tue Sep 18 14:04:30 CDT 2012
Module: wine
Branch: master
Commit: 83b02573cc498176c222dd877aabb53597846335
URL: http://source.winehq.org/git/wine.git/?a=commit;h=83b02573cc498176c222dd877aabb53597846335
Author: Erich Hoover <ehoover at mines.edu>
Date: Mon Sep 17 14:17:40 2012 -0600
ddraw: Convert calls to DirectDrawEnumerate into DirectDrawEnumerateEx.
---
dlls/ddraw/main.c | 52 ++++++++++++++++++++++++++++------------------------
1 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c
index 61e8ec9..e98b533 100644
--- a/dlls/ddraw/main.c
+++ b/dlls/ddraw/main.c
@@ -46,6 +46,22 @@ static HINSTANCE instance;
/* value of ForceRefreshRate */
DWORD force_refresh_rate = 0;
+/* Structure for converting DirectDrawEnumerateA to DirectDrawEnumerateExA */
+struct callback_info
+{
+ LPDDENUMCALLBACKA callback;
+ void *context;
+};
+
+/* Enumeration callback for converting DirectDrawEnumerateA to DirectDrawEnumerateExA */
+static HRESULT CALLBACK enum_callback(GUID *guid, char *description, char *driver_name,
+ void *context, HMONITOR monitor)
+{
+ const struct callback_info *info = context;
+
+ return info->callback(guid, description, driver_name, info->context);
+}
+
/* Handle table functions */
BOOL ddraw_handle_table_init(struct ddraw_handle_table *t, UINT initial_size)
{
@@ -336,27 +352,15 @@ DirectDrawCreateEx(GUID *guid,
*
*
***********************************************************************/
-HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA Callback, void *Context)
+HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA callback, void *context)
{
- TRACE("callback %p, context %p.\n", Callback, Context);
-
- TRACE(" Enumerating default DirectDraw HAL interface\n");
- /* We only have one driver */
- __TRY
- {
- static CHAR driver_desc[] = "DirectDraw HAL",
- driver_name[] = "display";
+ struct callback_info info;
- Callback(NULL, driver_desc, driver_name, Context);
- }
- __EXCEPT_PAGE_FAULT
- {
- return DDERR_INVALIDPARAMS;
- }
- __ENDTRY
+ TRACE("callback %p, context %p.\n", callback, context);
- TRACE(" End of enumeration\n");
- return DD_OK;
+ info.callback = callback;
+ info.context = context;
+ return DirectDrawEnumerateExA(enum_callback, &info, 0x0);
}
/***********************************************************************
@@ -368,17 +372,17 @@ HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA Callback, void *Context)
* The Flag member is not supported right now.
*
***********************************************************************/
-HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA Callback, void *Context, DWORD Flags)
+HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA callback, void *context, DWORD flags)
{
- TRACE("callback %p, context %p, flags %#x.\n", Callback, Context, Flags);
+ TRACE("callback %p, context %p, flags %#x.\n", callback, context, flags);
- if (Flags & ~(DDENUM_ATTACHEDSECONDARYDEVICES |
+ if (flags & ~(DDENUM_ATTACHEDSECONDARYDEVICES |
DDENUM_DETACHEDSECONDARYDEVICES |
DDENUM_NONDISPLAYDEVICES))
return DDERR_INVALIDPARAMS;
- if (Flags)
- FIXME("flags 0x%08x not handled\n", Flags);
+ if (flags)
+ FIXME("flags 0x%08x not handled\n", flags);
TRACE("Enumerating default DirectDraw HAL interface\n");
@@ -389,7 +393,7 @@ HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA Callback, void *Contex
driver_name[] = "display";
/* QuickTime expects the description "DirectDraw HAL" */
- Callback(NULL, driver_desc, driver_name, Context, 0);
+ callback(NULL, driver_desc, driver_name, context, 0);
}
__EXCEPT_PAGE_FAULT
{
More information about the wine-cvs
mailing list