From fcfa079e7b86f95fdfe3c6cdc54aa9c032ee7e2f Mon Sep 17 00:00:00 2001 From: Jonas Kulla Date: Tue, 23 Dec 2014 19:15:13 +0100 Subject: [PATCH] Perform chdir(gameFolder) early in main() --- src/main.cpp | 9 ++++++++- src/sharedstate.cpp | 10 ---------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 85b3a20..e2aace7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -206,8 +206,15 @@ int main(int argc, char *argv[]) /* now we load the config */ Config conf; - conf.read(argc, argv); + + if (!conf.gameFolder.empty()) + if (chdir(conf.gameFolder.c_str()) != 0) + { + showInitError(std::string("Unable to switch into gameFolder ") + conf.gameFolder); + return 0; + } + conf.readGameINI(); assert(conf.rgssVersion >= 1 && conf.rgssVersion <= 3); diff --git a/src/sharedstate.cpp b/src/sharedstate.cpp index 07ea572..fb201e2 100644 --- a/src/sharedstate.cpp +++ b/src/sharedstate.cpp @@ -111,16 +111,6 @@ struct SharedStatePrivate fontState(threadData->config), stampCounter(0) { - if (!config.gameFolder.empty()) - { - int result = chdir(config.gameFolder.c_str()); - - if (result != 0) - throw Exception(Exception::MKXPError, - "Unable to switch into gameFolder '%s'", - config.gameFolder.c_str()); - } - // FIXME find out correct archive filename std::string archPath = defGameArchive();