From 5e46b22c74977797e6037a82aede8825827b823b Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Mon, 26 Oct 2015 18:47:07 +0200 Subject: [PATCH] Fixed OSD on the fly change, disappearing D3D scanlines in non-shader mode. --- od-win32/direct3d.cpp | 17 ++++++++++------- od-win32/win32_scaler.cpp | 6 ++++-- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/od-win32/direct3d.cpp b/od-win32/direct3d.cpp index 38a628d6..076c467d 100644 --- a/od-win32/direct3d.cpp +++ b/od-win32/direct3d.cpp @@ -2122,12 +2122,12 @@ static int restoredeviceobjects (void) createmasktexture (filterd3d->gfx_filtermask[i + MAX_FILTERSHADERS], s); } } - if (filterd3d->gfx_filter_scanlines > 0) { - createsltexture (); - createscanlines (1); - } break; } + if (filterd3d->gfx_filter_scanlines > 0) { + createsltexture(); + createscanlines(1); + } if (wasshader && !shaderon) write_log (_T("Falling back to non-shader mode\n")); @@ -2181,7 +2181,8 @@ static void D3D_free2 (void) resetcount = 0; devicelost = 0; renderdisabled = false; - changed_prefs.leds_on_screen = currprefs.leds_on_screen = currprefs.leds_on_screen & ~STATUSLINE_TARGET; + changed_prefs.leds_on_screen &= ~STATUSLINE_TARGET; + currprefs.leds_on_screen &= ~STATUSLINE_TARGET; } void D3D_free (bool immediate) @@ -2554,7 +2555,8 @@ static const TCHAR *D3D_init2 (HWND ahwnd, int w_w, int w_h, int depth, int *fre break; } - changed_prefs.leds_on_screen = currprefs.leds_on_screen = currprefs.leds_on_screen | STATUSLINE_TARGET; + changed_prefs.leds_on_screen |= STATUSLINE_TARGET; + currprefs.leds_on_screen |= STATUSLINE_TARGET; if (!restoredeviceobjects ()) { D3D_free (true); @@ -2666,7 +2668,8 @@ bool D3D_alloctexture (int w, int h) if (fakemode) return false; - changed_prefs.leds_on_screen = currprefs.leds_on_screen = currprefs.leds_on_screen | STATUSLINE_TARGET; + changed_prefs.leds_on_screen |= STATUSLINE_TARGET; + currprefs.leds_on_screen |= STATUSLINE_TARGET; freetextures (); return alloctextures (); diff --git a/od-win32/win32_scaler.cpp b/od-win32/win32_scaler.cpp index 848b89e7..e9076d7f 100644 --- a/od-win32/win32_scaler.cpp +++ b/od-win32/win32_scaler.cpp @@ -755,7 +755,8 @@ void S2X_reset (void) void S2X_free (void) { - changed_prefs.leds_on_screen = currprefs.leds_on_screen = currprefs.leds_on_screen & ~STATUSLINE_TARGET; + changed_prefs.leds_on_screen &= ~STATUSLINE_TARGET; + currprefs.leds_on_screen &= ~STATUSLINE_TARGET; freesurface (tempsurf); tempsurf = 0; @@ -786,7 +787,8 @@ bool S2X_init (int dw, int dh, int dd) S2X_free (); d3d = currprefs.gfx_api; - changed_prefs.leds_on_screen = currprefs.leds_on_screen = currprefs.leds_on_screen | STATUSLINE_TARGET; + changed_prefs.leds_on_screen |= STATUSLINE_TARGET; + currprefs.leds_on_screen |= STATUSLINE_TARGET; if (d3d) dd = amiga_depth2; -- 2.47.3