Fix bugs introduced by unit test branch

Account json was getting rewritten by a folder
Missing icon on Windows (hopefully fixed, `doing it live`)
This commit is contained in:
Petr Mrázek 2013-12-14 19:26:50 +01:00
parent f15306a0ac
commit d15a6490f6
2 changed files with 12 additions and 9 deletions

View File

@ -482,10 +482,10 @@ QT5_ADD_RESOURCES(GENERATED_QRC ${CMAKE_CURRENT_BINARY_DIR}/generated.qrc)
QT5_ADD_RESOURCES(GRAPHICS_QRC graphics.qrc)
# Add common library
ADD_LIBRARY(MultiMC_common STATIC ${MULTIMC_SOURCES} ${MULTIMC_UI} ${GENERATED_QRC} ${GRAPHICS_QRC} ${MULTIMC_RCS})
ADD_LIBRARY(MultiMC_common STATIC ${MULTIMC_SOURCES} ${MULTIMC_UI} ${GENERATED_QRC} ${GRAPHICS_QRC})
# Add executable
ADD_EXECUTABLE(MultiMC MACOSX_BUNDLE WIN32 main.cpp)
ADD_EXECUTABLE(MultiMC MACOSX_BUNDLE WIN32 main.cpp ${MULTIMC_RCS})
# Link
TARGET_LINK_LIBRARIES(MultiMC MultiMC_common)

View File

@ -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;