make linux work and fix a few bugs

This commit is contained in:
RSDuck
2020-07-04 18:58:00 +02:00
parent 62c6e2f703
commit 778623a8b7
7 changed files with 136 additions and 30 deletions

View File

@ -34,6 +34,7 @@ EmuSettingsDialog* EmuSettingsDialog::currentDlg = nullptr;
extern char* EmuDirectory;
extern bool RunningSomething;
bool EmuSettingsDialog::needsReset = false;
EmuSettingsDialog::EmuSettingsDialog(QWidget* parent) : QDialog(parent), ui(new Ui::EmuSettingsDialog)
{
@ -121,6 +122,8 @@ void EmuSettingsDialog::verifyFirmware()
void EmuSettingsDialog::done(int r)
{
needsReset = false;
if (r == QDialog::Accepted)
{
verifyFirmware();
@ -186,6 +189,8 @@ void EmuSettingsDialog::done(int r)
Config::DirectBoot = directBoot;
Config::Save();
needsReset = true;
}
}

View File

@ -50,6 +50,8 @@ public:
currentDlg = nullptr;
}
static bool needsReset;
private slots:
void done(int r);

View File

@ -1641,14 +1641,19 @@ void MainWindow::onStop()
void MainWindow::onOpenEmuSettings()
{
emuThread->emuPause();
EmuSettingsDialog* dlg = EmuSettingsDialog::openDlg(this);
connect(dlg, &EmuSettingsDialog::finished, this, &MainWindow::onEmuSettingsDialogFinished);
}
void MainWindow::onEmuSettingsDialogFinished(int res)
{
if (RunningSomething)
if (EmuSettingsDialog::needsReset)
{
emuThread->emuUnpause();
onReset();
}
}
void MainWindow::onOpenInputConfig()