mirror of https://github.com/mgba-emu/mgba.git
Qt: Clean up some path canonicalization
This commit is contained in:
parent
0080fab314
commit
210ef6db50
1
CHANGES
1
CHANGES
|
@ -42,6 +42,7 @@ Misc:
|
||||||
- Libretro: Disable logging game errors, BIOS calls and stubs in release builds
|
- Libretro: Disable logging game errors, BIOS calls and stubs in release builds
|
||||||
- ARM7: Support forcing Thumb mode via MSR
|
- ARM7: Support forcing Thumb mode via MSR
|
||||||
- ARM7: Flush prefetch cache when loading CPSR via MSR
|
- ARM7: Flush prefetch cache when loading CPSR via MSR
|
||||||
|
- Qt: Canonicalize file paths when loading games
|
||||||
|
|
||||||
0.4.0: (2016-02-02)
|
0.4.0: (2016-02-02)
|
||||||
Features:
|
Features:
|
||||||
|
|
|
@ -288,14 +288,12 @@ void GameController::setDebugger(mDebugger* debugger) {
|
||||||
|
|
||||||
void GameController::loadGame(const QString& path) {
|
void GameController::loadGame(const QString& path) {
|
||||||
closeGame();
|
closeGame();
|
||||||
QFile file(path);
|
QFileInfo info(path);
|
||||||
if (!file.open(QIODevice::ReadOnly)) {
|
if (!info.isReadable()) {
|
||||||
LOG(QT, ERROR) << tr("Failed to open game file: %1").arg(path);
|
LOG(QT, ERROR) << tr("Failed to open game file: %1").arg(path);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
file.close();
|
m_fname = info.canonicalFilePath();
|
||||||
|
|
||||||
m_fname = path;
|
|
||||||
openGame();
|
openGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -406,7 +404,12 @@ void GameController::replaceGame(const QString& path) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_fname = path;
|
QFileInfo info(path);
|
||||||
|
if (!info.isReadable()) {
|
||||||
|
LOG(QT, ERROR) << tr("Failed to open game file: %1").arg(path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_fname = info.canonicalFilePath();
|
||||||
threadInterrupt();
|
threadInterrupt();
|
||||||
mCoreLoadFile(m_threadContext.core, m_fname.toLocal8Bit().constData());
|
mCoreLoadFile(m_threadContext.core, m_fname.toLocal8Bit().constData());
|
||||||
threadContinue();
|
threadContinue();
|
||||||
|
|
|
@ -333,11 +333,12 @@ void Window::multiplayerChanged() {
|
||||||
void Window::selectBIOS() {
|
void Window::selectBIOS() {
|
||||||
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select BIOS"));
|
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select BIOS"));
|
||||||
if (!filename.isEmpty()) {
|
if (!filename.isEmpty()) {
|
||||||
m_config->setOption("bios", filename);
|
QFileInfo info(filename);
|
||||||
|
m_config->setOption("bios", info.canonicalFilePath());
|
||||||
m_config->updateOption("bios");
|
m_config->updateOption("bios");
|
||||||
m_config->setOption("useBios", true);
|
m_config->setOption("useBios", true);
|
||||||
m_config->updateOption("useBios");
|
m_config->updateOption("useBios");
|
||||||
m_controller->loadBIOS(filename);
|
m_controller->loadBIOS(info.canonicalFilePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue