diff --git a/reactos/lib/ddraw/main/ddraw_main.c b/reactos/lib/ddraw/main/ddraw_main.c index 88401bddc85..e9bb3311b0a 100644 --- a/reactos/lib/ddraw/main/ddraw_main.c +++ b/reactos/lib/ddraw/main/ddraw_main.c @@ -16,13 +16,14 @@ HRESULT WINAPI Main_DirectDraw_Initialize (LPDIRECTDRAW7 iface, LPGUID lpGUID) IDirectDrawImpl* This = (IDirectDrawImpl*)iface; HRESULT ret; - // this if it is not called by DirectDrawCreate - if(FALSE) + if (This->InitializeDraw == TRUE) return DDERR_ALREADYINITIALIZED; - // save the parameter - This->lpGUID = lpGUID; + This->InitializeDraw = TRUE; + + + // get the HDC This->hdc = GetWindowDC(GetDesktopWindow()); This->Height = GetDeviceCaps(This->hdc, VERTRES); diff --git a/reactos/lib/ddraw/rosdraw.h b/reactos/lib/ddraw/rosdraw.h index 685a0f62fb5..6fa7f3737a9 100644 --- a/reactos/lib/ddraw/rosdraw.h +++ b/reactos/lib/ddraw/rosdraw.h @@ -28,7 +28,8 @@ typedef struct HDC hdc; int Height, Width, Bpp; - GUID* lpGUID; + GUID InGUID; + BOOL InitializeDraw; } IDirectDrawImpl;