From: <au...@us...> - 2009-09-05 16:08:22
|
Revision: 4005 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=4005&view=rev Author: auria Date: 2009-09-05 16:08:13 +0000 (Sat, 05 Sep 2009) Log Message: ----------- Tweaks to event handling to fix keyboard navigation and dialogs (more work still needed) Modified Paths: -------------- main/branches/irrlicht/src/guiengine/event_handler.cpp main/branches/irrlicht/src/input/input_manager.cpp Modified: main/branches/irrlicht/src/guiengine/event_handler.cpp =================================================================== --- main/branches/irrlicht/src/guiengine/event_handler.cpp 2009-09-05 15:46:24 UTC (rev 4004) +++ main/branches/irrlicht/src/guiengine/event_handler.cpp 2009-09-05 16:08:13 UTC (rev 4005) @@ -52,7 +52,7 @@ else { // FIXME : it's a bit unclean that all input events go trough the gui module - const bool blockPropagation = input_manager->input(event) && !ModalDialog::isADialogActive(); + const bool blockPropagation = input_manager->input(event); return blockPropagation; } Modified: main/branches/irrlicht/src/input/input_manager.cpp =================================================================== --- main/branches/irrlicht/src/input/input_manager.cpp 2009-09-05 15:46:24 UTC (rev 4004) +++ main/branches/irrlicht/src/input/input_manager.cpp 2009-09-05 16:08:13 UTC (rev 4005) @@ -40,8 +40,8 @@ #include "modes/world.hpp" #include "race/history.hpp" #include "race/race_manager.hpp" +#include "states_screens/kart_selection.hpp" #include "states_screens/options_screen.hpp" -#include "states_screens/kart_selection.hpp" #include "states_screens/state_manager.hpp" InputManager *input_manager; @@ -506,8 +506,9 @@ } #endif - // block events in all modes but initial menus (except in text boxes to allow typing) - return getDeviceList()->playerAssignMode() != NO_ASSIGN && !GUIEngine::isWithinATextBox; + // block events in all modes but initial menus (except in text boxes to allow typing, and exceptm in modal dialogs in-game) + return getDeviceList()->playerAssignMode() != NO_ASSIGN && !GUIEngine::isWithinATextBox && + (!GUIEngine::ModalDialog::isADialogActive() && StateManager::get()->isGameState()); } //----------------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |