From ad7c2600b359fde3cf6fbacd8f6f3d5f63085f75 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 6 Nov 2021 19:46:03 +0200 Subject: [PATCH] Reinitialize already selected floppybridge devices when floppybridge UI is closed. --- disk.cpp | 11 +++++++++++ include/disk.h | 1 + od-win32/win32gui.cpp | 2 ++ 3 files changed, 14 insertions(+) diff --git a/disk.cpp b/disk.cpp index 8051dff2..5a968340 100644 --- a/disk.cpp +++ b/disk.cpp @@ -5050,6 +5050,17 @@ void floppybridge_init(struct uae_prefs *p) floppybridge_reload_profiles(); } +void floppybridge_modified(int num) +{ + if (num < 0) { + for (int i = 0; i < MAX_FLOPPY_DRIVES; i++) { + bridge_type[i] = -1; + } + } else { + bridge_type[num] = -1; + } +} + void DISK_init (void) { for (int dr = MAX_FLOPPY_DRIVES - 1; dr >= 0; dr--) { diff --git a/include/disk.h b/include/disk.h index 0df44705..472e198a 100644 --- a/include/disk.h +++ b/include/disk.h @@ -122,6 +122,7 @@ extern int disk_debug_track; bool floppybridge_has(void); bool DISK_isfloppybridge(struct uae_prefs*, int); void floppybridge_init(struct uae_prefs *p); +void floppybridge_modified(int); void floppybridge_reload_profiles(void); void floppybridge_set_config(const char*); extern bool floppybridge_available; diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 3b2f5bb2..680003ec 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -16118,6 +16118,7 @@ static void getfloppytype(HWND hDlg, int n, bool change) if (sub == 0) { FloppyBridgeAPI::showProfileConfigDialog(hDlg); floppybridge_reload_profiles(); + floppybridge_modified(-1); updatefloppytypes(hDlg); char *c = NULL; FloppyBridgeAPI::exportProfilesToString(&c); @@ -16210,6 +16211,7 @@ static void getfloppytypeq(HWND hDlg, int n, bool type) _tcscpy(quickstart_floppysubtypeid[n], tmp); } _tcscpy(fs->dfxsubtypeid, tmp); + floppybridge_modified(n); } if (qs) { if (n == 1) { -- 2.47.3