diff --git a/src/drivers/Qt/GamePadConf.cpp b/src/drivers/Qt/GamePadConf.cpp index 713895b1..23ff6139 100644 --- a/src/drivers/Qt/GamePadConf.cpp +++ b/src/drivers/Qt/GamePadConf.cpp @@ -1000,7 +1000,7 @@ void GamePadConfDialog_t::updatePeriodic(void) } } - int fourScore; + bool fourScore = false; g_config->getOption("SDL.FourScore", &fourScore); if (fourScore != efs_chkbox->isChecked()) { diff --git a/src/drivers/Qt/InputConf.cpp b/src/drivers/Qt/InputConf.cpp index 24e77c04..1c5e2dff 100644 --- a/src/drivers/Qt/InputConf.cpp +++ b/src/drivers/Qt/InputConf.cpp @@ -557,7 +557,7 @@ void InputConfDialog_t::updatePeriodic(void) { bool updateNeeded = false; int tmpCurInputType[3], tmpUsrInputType[3]; - int fourScoreValue; + bool fourScoreValue = false; for (int i = 0; i < 3; i++) { diff --git a/src/drivers/common/configSys.cpp b/src/drivers/common/configSys.cpp index ac173d6c..77eff7cf 100644 --- a/src/drivers/common/configSys.cpp +++ b/src/drivers/common/configSys.cpp @@ -447,6 +447,23 @@ Config::getOption(const std::string &name, return 0; } +int +Config::getOption(const std::string &name, + bool *value) const +{ + std::map::const_iterator opt_i; + + // confirm that the option exists + opt_i = _intOptMap.find(name); + if(opt_i == _intOptMap.end()) { + return -1; + } + + // get the option + (*value) = opt_i->second ? true : false; + return 0; +} + int Config::getOption(const std::string &name, double *value) const diff --git a/src/drivers/common/configSys.h b/src/drivers/common/configSys.h index d0756eb8..0e41aa04 100644 --- a/src/drivers/common/configSys.h +++ b/src/drivers/common/configSys.h @@ -69,6 +69,7 @@ public: int getOption(const std::string &, std::string *) const; int getOption(const std::string &, const char **) const; int getOption(const std::string &, int *) const; + int getOption(const std::string &, bool *) const; int getOption(const std::string &, double *) const; /** diff --git a/src/input.cpp b/src/input.cpp index 8b519ac1..9c0c9647 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -486,9 +486,16 @@ static void SetInputStuff(int port) switch(joyports[port].type) { case SI_GAMEPAD: - if(GameInfo->type==GIT_VSUNI){ - joyports[port].driver = &GPCVS; - } else { + if (GameInfo) + { + if (GameInfo->type==GIT_VSUNI){ + joyports[port].driver = &GPCVS; + } else { + joyports[port].driver= &GPC; + } + } + else + { joyports[port].driver= &GPC; } break;