1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +01:00

release d3d9 in case reset fails

This commit is contained in:
FunkyFr3sh 2022-09-23 02:45:59 +02:00
parent 415f74887f
commit 30c15e761a
2 changed files with 8 additions and 6 deletions

View File

@ -395,7 +395,8 @@ HRESULT dd_RestoreDisplayMode()
if (g_ddraw->renderer == d3d9_render_main) if (g_ddraw->renderer == d3d9_render_main)
{ {
d3d9_reset(TRUE); if (!d3d9_reset(TRUE))
d3d9_release();
} }
} }
@ -1008,7 +1009,8 @@ ULONG dd_Release()
if (g_ddraw->renderer == d3d9_render_main) if (g_ddraw->renderer == d3d9_render_main)
{ {
d3d9_release(); if (!d3d9_reset(TRUE))
d3d9_release();
} }
else if (!g_ddraw->windowed) else if (!g_ddraw->windowed)
{ {

View File

@ -12,7 +12,7 @@
#include "debug.h" #include "debug.h"
static BOOL d3d9_create_resouces(); static BOOL d3d9_create_resources();
static BOOL d3d9_set_states(); static BOOL d3d9_set_states();
static BOOL d3d9_update_vertices(BOOL upscale_hack, BOOL stretch); static BOOL d3d9_update_vertices(BOOL upscale_hack, BOOL stretch);
@ -40,7 +40,7 @@ BOOL d3d9_create()
{ {
d3d9_release(); d3d9_release();
} }
else if (d3d9_release_resources() && d3d9_create_resouces() && d3d9_reset(g_ddraw->windowed)) else if (d3d9_release_resources() && d3d9_create_resources() && d3d9_reset(g_ddraw->windowed))
{ {
return TRUE; return TRUE;
} }
@ -115,7 +115,7 @@ BOOL d3d9_create()
behavior_flags[i] | (g_ddraw->fpupreserve ? D3DCREATE_FPU_PRESERVE : 0), behavior_flags[i] | (g_ddraw->fpupreserve ? D3DCREATE_FPU_PRESERVE : 0),
&g_d3d9.params, &g_d3d9.params,
&g_d3d9.device))) &g_d3d9.device)))
return g_d3d9.device && d3d9_create_resouces() && d3d9_set_states(); return g_d3d9.device && d3d9_create_resources() && d3d9_set_states();
} }
} }
} }
@ -214,7 +214,7 @@ BOOL d3d9_release()
return TRUE; return TRUE;
} }
static BOOL d3d9_create_resouces() static BOOL d3d9_create_resources()
{ {
if (!g_d3d9.device) if (!g_d3d9.device)
return FALSE; return FALSE;