mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
add some additional checks
This commit is contained in:
parent
4bb1cffee7
commit
b97af7a4f9
@ -999,7 +999,7 @@ HRESULT dds_GetDC(IDirectDrawSurfaceImpl* This, HDC FAR* lpHDC)
|
||||
if (This->backbuffer || (This->caps & DDSCAPS_BACKBUFFER))
|
||||
dc = (HDC)InterlockedExchangeAdd((LONG*)&This->hdc, 0);
|
||||
|
||||
if (data)
|
||||
if (This->bpp == 8 && data)
|
||||
SetDIBColorTable(dc, 0, 256, data);
|
||||
|
||||
if (lpHDC)
|
||||
@ -1170,7 +1170,7 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect)
|
||||
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
||||
{
|
||||
HDC primary_dc;
|
||||
dds_GetDC(g_ddraw->primary, &primary_dc);
|
||||
dds_GetDC(This, &primary_dc);
|
||||
|
||||
/* GdiTransparentBlt idea taken from Aqrit's war2 ddraw */
|
||||
|
||||
@ -1225,7 +1225,7 @@ HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect)
|
||||
if (hwnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
|
||||
{
|
||||
HDC primary_dc;
|
||||
dds_GetDC(g_ddraw->primary, &primary_dc);
|
||||
dds_GetDC(This, &primary_dc);
|
||||
|
||||
RECT rc;
|
||||
if (fake_GetWindowRect(hwnd, &rc))
|
||||
|
@ -328,7 +328,9 @@ DWORD WINAPI d3d9_render_main(void)
|
||||
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
|
||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
if (g_ddraw->primary &&
|
||||
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
{
|
||||
if (g_ddraw->vhack)
|
||||
{
|
||||
|
@ -47,7 +47,9 @@ DWORD WINAPI gdi_render_main(void)
|
||||
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
|
||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
if (g_ddraw->primary &&
|
||||
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
{
|
||||
if (warning_end_tick)
|
||||
{
|
||||
|
@ -582,7 +582,9 @@ static void ogl_render()
|
||||
|
||||
EnterCriticalSection(&g_ddraw->cs);
|
||||
|
||||
if (g_ddraw->primary && (g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
if (g_ddraw->primary &&
|
||||
g_ddraw->primary->bpp == g_ddraw->bpp &&
|
||||
(g_ddraw->bpp == 16 || g_ddraw->bpp == 32 || g_ddraw->primary->palette))
|
||||
{
|
||||
if (g_ddraw->vhack)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user