diff --git a/src/components/GuiDetectDevice.cpp b/src/components/GuiDetectDevice.cpp index 8c05f1d91..570d4c9f4 100644 --- a/src/components/GuiDetectDevice.cpp +++ b/src/components/GuiDetectDevice.cpp @@ -44,6 +44,10 @@ bool GuiDetectDevice::input(InputConfig* config, Input input) if(!input.value) return false; + //don't allow device list to change once the first player has registered + if(mCurrentPlayer == 0) + mWindow->getInputManager()->stopPolling(); + config->setPlayerNum(mCurrentPlayer); mWindow->getInputManager()->setNumPlayers(mWindow->getInputManager()->getNumPlayers() + 1); //inc total number of players mCurrentPlayer++; diff --git a/src/components/GuiInputConfig.cpp b/src/components/GuiInputConfig.cpp index 6f217fcec..78f7a272a 100644 --- a/src/components/GuiInputConfig.cpp +++ b/src/components/GuiInputConfig.cpp @@ -38,6 +38,7 @@ bool GuiInputConfig::input(InputConfig* config, Input input) mWindow->pushGui(new GuiInputConfig(mWindow, mWindow->getInputManager()->getInputConfigByPlayer(mTargetConfig->getPlayerNum() + 1))); }else{ mWindow->getInputManager()->writeConfig(); + mWindow->getInputManager()->startPolling(); //enable polling again since we're done GuiGameList::create(mWindow); } delete this;