diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-12-14 19:26:50 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-12-14 19:26:50 +0100 |
commit | d15a6490f6f2d6b1252fc48feaaba9dd89608569 (patch) | |
tree | e8fba87f96d46a83360445bfe4cc0822aa25a294 /logic/auth | |
parent | f15306a0ac0b9e449344da07fd6304c5704c0913 (diff) | |
download | MultiMC-d15a6490f6f2d6b1252fc48feaaba9dd89608569.tar MultiMC-d15a6490f6f2d6b1252fc48feaaba9dd89608569.tar.gz MultiMC-d15a6490f6f2d6b1252fc48feaaba9dd89608569.tar.lz MultiMC-d15a6490f6f2d6b1252fc48feaaba9dd89608569.tar.xz MultiMC-d15a6490f6f2d6b1252fc48feaaba9dd89608569.zip |
Fix bugs introduced by unit test branch
Account json was getting rewritten by a folder
Missing icon on Windows (hopefully fixed, `doing it live`)
Diffstat (limited to 'logic/auth')
-rw-r--r-- | logic/auth/MojangAccountList.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/logic/auth/MojangAccountList.cpp b/logic/auth/MojangAccountList.cpp index 33990662..937b4721 100644 --- a/logic/auth/MojangAccountList.cpp +++ b/logic/auth/MojangAccountList.cpp @@ -27,6 +27,7 @@ #include "logger/QsLog.h" #include "logic/auth/MojangAccount.h" +#include <pathutils.h> #define ACCOUNT_LIST_FORMAT_VERSION 2 @@ -265,11 +266,6 @@ bool MojangAccountList::loadList(const QString &filePath) return false; } - if (!QDir::current().exists(path)) - { - QDir::current().mkpath(path); - } - QFile file(path); // Try to open the file and fail if we can't. @@ -351,9 +347,16 @@ bool MojangAccountList::saveList(const QString &filePath) return false; } - if (!QDir::current().exists(path)) + // make sure the parent folder exists + if(!ensureFilePathExists(path)) + return false; + + // make sure the file wasn't overwritten with a folder before (fixes a bug) + QFileInfo finfo(path); + if(finfo.isDir()) { - QDir::current().mkpath(path); + QDir badDir(path); + badDir.removeRecursively(); } QLOG_INFO() << "Writing account list to" << path; |