diff --git a/src/dd.c b/src/dd.c index 00a935e..74b2271 100644 --- a/src/dd.c +++ b/src/dd.c @@ -395,7 +395,8 @@ HRESULT dd_RestoreDisplayMode() 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) { - d3d9_release(); + if (!d3d9_reset(TRUE)) + d3d9_release(); } else if (!g_ddraw->windowed) { diff --git a/src/render_d3d9.c b/src/render_d3d9.c index 12894df..25d4473 100644 --- a/src/render_d3d9.c +++ b/src/render_d3d9.c @@ -12,7 +12,7 @@ #include "debug.h" -static BOOL d3d9_create_resouces(); +static BOOL d3d9_create_resources(); static BOOL d3d9_set_states(); static BOOL d3d9_update_vertices(BOOL upscale_hack, BOOL stretch); @@ -40,7 +40,7 @@ BOOL d3d9_create() { 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; } @@ -115,7 +115,7 @@ BOOL d3d9_create() behavior_flags[i] | (g_ddraw->fpupreserve ? D3DCREATE_FPU_PRESERVE : 0), &g_d3d9.params, &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; } -static BOOL d3d9_create_resouces() +static BOOL d3d9_create_resources() { if (!g_d3d9.device) return FALSE;