Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6805


Ignore:
Timestamp:
Apr 29, 2010, 3:26:43 PM (14 years ago)
Author:
dafrick
Message:

Possible bug fix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/modules/objects/triggers/MultiTrigger.cc

    r6800 r6805  
    115115        if(queue != NULL)
    116116            COUT(4) << "MultiTrigger &" << this << ": " << queue->size() << " new states to state queue." << std::endl;
    117         while(queue != NULL && queue->size() > 0)
    118         {
    119             //TODO: Be more efficient, Don't delete a state and create a new one immediately after that. Reuse!
    120             MultiTriggerState* state = queue->front();
    121             this->addState(state->bTriggered & this->isModeTriggered(state->originator), state->originator);
    122             queue->pop();
    123             delete state;
    124         }
    125         delete queue;
     117       
     118        if(queue != NULL)
     119        {
     120            while(queue->size() > 0)
     121            {
     122                //TODO: Be more efficient, Don't delete a state and create a new one immediately after that. Reuse!
     123                MultiTriggerState* state = queue->front();
     124                if(state == NULL)
     125                    break;
     126                   
     127                this->addState(state->bTriggered & this->isModeTriggered(state->originator), state->originator);
     128                queue->pop();
     129                delete state;
     130            }
     131            delete queue;
     132        }
    126133
    127134        if (this->stateQueue_.size() > 0)
Note: See TracChangeset for help on using the changeset viewer.