Rtabmap core : When pushing a new state, rtabmap is not anymore automatically started if it is still idle -> all stacked states are parsed when rtabmap is started.

git-svn-id: http://rtabmap.googlecode.com/svn/branches/0.3/rtabmap@81 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2011-06-08 14:35:31 +00:00
parent bc3f5f2ba2
commit 7407657b23

View File

@@ -165,11 +165,6 @@ void Rtabmap::startInit()
void Rtabmap::pushNewState(State newState, const ParametersMap & parameters)
{
if(this->isIdle())
{
this->start();
}
ULOGGER_DEBUG("to %d", newState);
_stateMutex.lock();
@@ -521,15 +516,12 @@ void Rtabmap::deleteMemory()
void Rtabmap::handleEvent(UEvent* event)
{
if(this->isRunning())
{
if(event->getClassName().compare("SMStateEvent") == 0)
if(this->isRunning() && event->getClassName().compare("SMStateEvent") == 0)
{
SMStateEvent * e = (SMStateEvent*)event;
SMState * data = e->getSMStateOwnership();
this->addSMState(data);
}
}
else if(event->getClassName().compare("RtabmapEventCmd") == 0)
{
RtabmapEventCmd * rtabmapEvent = (RtabmapEventCmd*)event;