QT: Restore RichardG's hard reset workaround.

This commit is contained in:
OBattler
2024-08-24 04:24:06 +02:00
parent 0d43babac8
commit cdd01eceea
3 changed files with 11 additions and 2 deletions

View File

@@ -153,6 +153,7 @@ extern int enable_discord; /* (C) enable Discord integration */
extern int other_ide_present; /* IDE controllers from non-IDE cards are present */ extern int other_ide_present; /* IDE controllers from non-IDE cards are present */
extern int other_scsi_present; /* SCSI controllers from non-SCSI cards are present */ extern int other_scsi_present; /* SCSI controllers from non-SCSI cards are present */
extern int hard_reset_pending;
extern int fixed_size_x; extern int fixed_size_x;
extern int fixed_size_y; extern int fixed_size_y;
extern int do_auto_pause; /* (C) Auto-pause the emulator on focus loss */ extern int do_auto_pause; /* (C) Auto-pause the emulator on focus loss */

View File

@@ -138,8 +138,17 @@ main_thread_fn()
} }
} else { } else {
/* Just so we dont overload the host OS. */ /* Just so we dont overload the host OS. */
/* Trigger a hard reset if one is pending. */
if (hard_reset_pending) {
hard_reset_pending = 0;
pc_reset_hard_close();
pc_reset_hard_init();
}
if (dopause) if (dopause)
ack_pause(); ack_pause();
std::this_thread::sleep_for(std::chrono::milliseconds(1)); std::this_thread::sleep_for(std::chrono::milliseconds(1));
} }
} }

View File

@@ -946,10 +946,9 @@ MainWindow::on_actionSettings_triggered()
default: default:
break; break;
case QDialog::Accepted: case QDialog::Accepted:
pc_reset_hard_close();
settings.save(); settings.save();
config_changed = 2; config_changed = 2;
pc_reset_hard_init(); pc_reset_hard();
break; break;
case QDialog::Rejected: case QDialog::Rejected:
break; break;