diff --git a/src/states_screens/options/options_screen_ui.cpp b/src/states_screens/options/options_screen_ui.cpp index 14ab88f97..671746b2e 100644 --- a/src/states_screens/options/options_screen_ui.cpp +++ b/src/states_screens/options/options_screen_ui.cpp @@ -309,6 +309,7 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con assert( skinSelector != NULL ); const core::stringw selectedSkin = skinSelector->getStringValue(); + bool right = skinSelector->isRightButtonSelected(); UserConfigParams::m_skin_file = m_skins[selectedSkin]; irr_driver->unsetMaxTextureSize(); bool prev_icon_theme = GUIEngine::getSkin()->hasIconTheme(); @@ -342,6 +343,11 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con }; GUIEngine::switchToScreen(MainMenuScreen::getInstance()); StateManager::get()->resetAndSetStack(screen_list); + // Need to use new widget pointer + skinSelector = + OptionsScreenUI::getInstance()->getWidget("skinchoice"); + skinSelector->setFocusForPlayer(PLAYER_ID_GAME_MASTER); + skinSelector->setSelectedButton(right); } irr_driver->setMaxTextureSize(); } @@ -355,6 +361,7 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con { GUIEngine::SpinnerWidget* font_size = getWidget("font_size"); assert( font_size != NULL ); + bool right = font_size->isRightButtonSelected(); UserConfigParams::m_font_size = font_size->getValue(); GUIEngine::clear(); GUIEngine::cleanUp(); @@ -372,6 +379,11 @@ void OptionsScreenUI::eventCallback(Widget* widget, const std::string& name, con }; GUIEngine::switchToScreen(MainMenuScreen::getInstance()); StateManager::get()->resetAndSetStack(screen_list); + // Need to use new widget pointer + font_size = + OptionsScreenUI::getInstance()->getWidget("font_size"); + font_size->setFocusForPlayer(PLAYER_ID_GAME_MASTER); + font_size->setSelectedButton(right); } else if (name == "split_screen_horizontally") {