fix ROM preloading to also go through EmuThread
This commit is contained in:
parent
1787235e09
commit
3fc065d72d
|
@ -1020,7 +1020,8 @@ bool MainWindow::preloadROMs(QStringList file, QStringList gbafile, bool boot)
|
|||
bool gbaloaded = false;
|
||||
if (!gbafile.isEmpty())
|
||||
{
|
||||
if (!emuInstance->loadGBAROM(gbafile)) return false;
|
||||
if (!emuThread->insertCart(gbafile, true))
|
||||
return false;
|
||||
|
||||
gbaloaded = true;
|
||||
}
|
||||
|
@ -1028,33 +1029,31 @@ bool MainWindow::preloadROMs(QStringList file, QStringList gbafile, bool boot)
|
|||
bool ndsloaded = false;
|
||||
if (!file.isEmpty())
|
||||
{
|
||||
if (!emuInstance->loadROM(file, true)) return false;
|
||||
if (boot)
|
||||
{
|
||||
if (!emuThread->bootROM(file))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!emuThread->insertCart(file, false))
|
||||
return false;
|
||||
}
|
||||
|
||||
recentFileList.removeAll(file.join("|"));
|
||||
recentFileList.prepend(file.join("|"));
|
||||
updateRecentFilesMenu();
|
||||
ndsloaded = true;
|
||||
}
|
||||
|
||||
if (boot)
|
||||
else if (boot)
|
||||
{
|
||||
if (ndsloaded)
|
||||
{
|
||||
emuInstance->nds->Start();
|
||||
emuThread->emuRun();
|
||||
}
|
||||
else
|
||||
{
|
||||
onBootFirmware();
|
||||
}
|
||||
if (!emuThread->bootFirmware())
|
||||
return false;
|
||||
}
|
||||
|
||||
updateCartInserted(false);
|
||||
|
||||
if (gbaloaded)
|
||||
{
|
||||
updateCartInserted(true);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -250,10 +250,8 @@ bool MelonApplication::event(QEvent *event)
|
|||
MainWindow* win = inst->getMainWindow();
|
||||
QFileOpenEvent *openEvent = static_cast<QFileOpenEvent*>(event);
|
||||
|
||||
inst->getEmuThread()->emuPause();
|
||||
const QStringList file = win->splitArchivePath(openEvent->file(), true);
|
||||
if (!win->preloadROMs(file, {}, true))
|
||||
inst->getEmuThread()->emuUnpause();
|
||||
win->preloadROMs(file, {}, true);
|
||||
}
|
||||
|
||||
return QApplication::event(event);
|
||||
|
|
Loading…
Reference in New Issue