Commit a43c7bf8 authored by Sam Lantinga's avatar Sam Lantinga

Date: Thu, 24 Jun 2004 15:13:40 +0300 (EEST)

From: Martin_Storsj�
Subject: Small patches for SDL/win32

I've tried playing with running SDL compiled for Windows with Wine (and
WineX) under Linux. It didn't originally work too well, but I somehow
managed to make it work. Most of the fixes was patches to Wine(X), but I
also found something in video/windx5/SDL_dx5video.c which, as far as I can
tell, actually is a bug in SDL. The result from the COM method Release,
which returns the new reference count, is compared to DD_OK. Because
QueryInterface is called immediately before, the reference count shouldn't
be DD_OK (== 0).

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40902
parent b8d2b6a0
......@@ -1323,11 +1323,7 @@ SDL_Surface *DX5_SetVideoMode(_THIS, SDL_Surface *current,
SetDDerror("DirectDrawSurface::QueryInterface", result);
return(NULL);
}
result = IDirectDrawSurface_Release(dd_surface1);
if ( result != DD_OK ) {
SetDDerror("DirectDrawSurface::Release", result);
return(NULL);
}
IDirectDrawSurface_Release(dd_surface1);
/* Get the format of the primary DirectDraw surface */
memset(&ddsd, 0, sizeof(ddsd));
......@@ -1335,7 +1331,7 @@ SDL_Surface *DX5_SetVideoMode(_THIS, SDL_Surface *current,
ddsd.dwFlags = DDSD_PIXELFORMAT|DDSD_CAPS;
result = IDirectDrawSurface3_GetSurfaceDesc(SDL_primary, &ddsd);
if ( result != DD_OK ) {
SetDDerror("DirectDrawSurface::Release", result);
SetDDerror("DirectDrawSurface::GetSurfaceDesc", result);
return(NULL);
}
if ( ! (ddsd.ddpfPixelFormat.dwFlags&DDPF_RGB) ) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment