[Orxonox-commit 174] r2849 - branches/gui/src/core/input
rgrieder at orxonox.net
rgrieder at orxonox.net
Wed Mar 25 23:50:23 CET 2009
Author: rgrieder
Date: 2009-03-25 22:50:23 +0000 (Wed, 25 Mar 2009)
New Revision: 2849
Modified:
branches/gui/src/core/input/InputManager.cc
Log:
Bug fix in the InputManager.
Modified: branches/gui/src/core/input/InputManager.cc
===================================================================
--- branches/gui/src/core/input/InputManager.cc 2009-03-25 18:37:00 UTC (rev 2848)
+++ branches/gui/src/core/input/InputManager.cc 2009-03-25 22:50:23 UTC (rev 2849)
@@ -746,16 +746,16 @@
// check for states to leave
if (!stateLeaveRequests_.empty())
{
- for (std::set<InputState*>::reverse_iterator rit = stateLeaveRequests_.rbegin();
- rit != stateLeaveRequests_.rend(); ++rit)
+ for (std::set<InputState*>::iterator it = stateLeaveRequests_.begin();
+ it != stateLeaveRequests_.end(); ++it)
{
- (*rit)->onLeave();
+ (*it)->onLeave();
// just to be sure that the state actually is registered
- assert(inputStatesByName_.find((*rit)->getName()) != inputStatesByName_.end());
+ assert(inputStatesByName_.find((*it)->getName()) != inputStatesByName_.end());
- activeStates_.erase((*rit)->getPriority());
- if ((*rit)->getPriority() < InputStatePriority::HighPriority)
- (*rit)->setPriority(0);
+ activeStates_.erase((*it)->getPriority());
+ if ((*it)->getPriority() < InputStatePriority::HighPriority)
+ (*it)->setPriority(0);
_updateActiveStates();
}
stateLeaveRequests_.clear();
@@ -764,31 +764,31 @@
// check for states to enter
if (!stateEnterRequests_.empty())
{
- for (std::set<InputState*>::reverse_iterator rit = stateEnterRequests_.rbegin();
- rit != stateEnterRequests_.rend(); ++rit)
+ for (std::set<InputState*>::const_iterator it = stateEnterRequests_.begin();
+ it != stateEnterRequests_.end(); ++it)
{
// just to be sure that the state actually is registered
- assert(inputStatesByName_.find((*rit)->getName()) != inputStatesByName_.end());
+ assert(inputStatesByName_.find((*it)->getName()) != inputStatesByName_.end());
- if ((*rit)->getPriority() == 0)
+ if ((*it)->getPriority() == 0)
{
// Get smallest possible priority between 1 and maxStateStackSize_s
- for(std::map<int, InputState*>::const_reverse_iterator rit2 = activeStates_.rbegin();
- rit2 != activeStates_.rend(); ++rit2)
+ for(std::map<int, InputState*>::const_reverse_iterator rit = activeStates_.rbegin();
+ rit != activeStates_.rend(); ++rit)
{
- if (rit2->first < InputStatePriority::HighPriority)
+ if (rit->first < InputStatePriority::HighPriority)
{
- (*rit)->setPriority(rit2->first + 1);
+ (*it)->setPriority(rit->first + 1);
break;
}
}
// In case no normal handler was on the stack
- if ((*rit)->getPriority() == 0)
- (*rit)->setPriority(1);
+ if ((*it)->getPriority() == 0)
+ (*it)->setPriority(1);
}
- activeStates_[(*rit)->getPriority()] = (*rit);
+ activeStates_[(*it)->getPriority()] = (*it);
_updateActiveStates();
- (*rit)->onEnter();
+ (*it)->onEnter();
}
stateEnterRequests_.clear();
}
@@ -796,10 +796,10 @@
// check for states to destroy
if (!stateDestroyRequests_.empty())
{
- for (std::set<InputState*>::reverse_iterator rit = stateDestroyRequests_.rbegin();
- rit != stateDestroyRequests_.rend(); ++rit)
+ for (std::set<InputState*>::iterator it = stateDestroyRequests_.begin();
+ it != stateDestroyRequests_.end(); ++it)
{
- _destroyState((*rit));
+ _destroyState((*it));
}
stateDestroyRequests_.clear();
}
More information about the Orxonox-commit
mailing list