mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-25 07:10:00 -06:00
make linux work and fix a few bugs
This commit is contained in:
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,8 @@ public:
|
||||
currentDlg = nullptr;
|
||||
}
|
||||
|
||||
static bool needsReset;
|
||||
|
||||
private slots:
|
||||
void done(int r);
|
||||
|
||||
|
@ -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()
|
||||
|
Reference in New Issue
Block a user