mirror of https://github.com/mgba-emu/mgba.git
Qt: Fix leak if loading a save file fails
This commit is contained in:
parent
afb614ad03
commit
1dc94c999a
|
@ -775,10 +775,14 @@ void CoreController::loadSave(const QString& path, bool temporary) {
|
|||
return;
|
||||
}
|
||||
|
||||
bool ok;
|
||||
if (temporary) {
|
||||
m_threadContext.core->loadTemporarySave(m_threadContext.core, vf);
|
||||
ok = m_threadContext.core->loadTemporarySave(m_threadContext.core, vf);
|
||||
} else {
|
||||
m_threadContext.core->loadSave(m_threadContext.core, vf);
|
||||
ok = m_threadContext.core->loadSave(m_threadContext.core, vf);
|
||||
}
|
||||
if (!ok) {
|
||||
vf->close(vf);
|
||||
}
|
||||
});
|
||||
if (hasStarted()) {
|
||||
|
@ -788,10 +792,14 @@ void CoreController::loadSave(const QString& path, bool temporary) {
|
|||
|
||||
void CoreController::loadSave(VFile* vf, bool temporary) {
|
||||
m_resetActions.append([this, vf, temporary]() {
|
||||
bool ok;
|
||||
if (temporary) {
|
||||
m_threadContext.core->loadTemporarySave(m_threadContext.core, vf);
|
||||
ok = m_threadContext.core->loadTemporarySave(m_threadContext.core, vf);
|
||||
} else {
|
||||
m_threadContext.core->loadSave(m_threadContext.core, vf);
|
||||
ok = m_threadContext.core->loadSave(m_threadContext.core, vf);
|
||||
}
|
||||
if (!ok) {
|
||||
vf->close(vf);
|
||||
}
|
||||
});
|
||||
if (hasStarted()) {
|
||||
|
|
Loading…
Reference in New Issue