diff --git a/logic/lists/InstanceList.cpp b/logic/lists/InstanceList.cpp index 697694b43..94481fb9d 100644 --- a/logic/lists/InstanceList.cpp +++ b/logic/lists/InstanceList.cpp @@ -37,6 +37,11 @@ InstanceList::InstanceList(const QString &instDir, QObject *parent) : QAbstractListModel(parent), m_instDir(instDir) { connect(MMC, &MultiMC::aboutToQuit, this, &InstanceList::saveGroupList); + + if (!QDir::current().exists(m_instDir)) + { + QDir::current().mkpath(m_instDir); + } } InstanceList::~InstanceList() diff --git a/logic/lists/MojangAccountList.cpp b/logic/lists/MojangAccountList.cpp index 466cc9347..439b5da6a 100644 --- a/logic/lists/MojangAccountList.cpp +++ b/logic/lists/MojangAccountList.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "logger/QsLog.h" @@ -233,6 +234,11 @@ 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. @@ -316,6 +322,11 @@ bool MojangAccountList::saveList(const QString &filePath) return false; } + if (!QDir::current().exists(path)) + { + QDir::current().mkpath(path); + } + QLOG_INFO() << "Writing account list to" << path; QLOG_DEBUG() << "Building JSON data structure.";