Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 1, 2008, 1:48:57 PM (15 years ago)
Author:
landauf
Message:
  • simplified some event code
  • prevents infinite event loops
  • fixed some leaky memory behavior in XMLPort and EventIncludes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy/src/core/Event.cc

    r2072 r2082  
    3838    }
    3939
    40     void EventContainer::process(void* object, const Event& event)
     40    void EventContainer::process(BaseObject* object, const Event& event)
    4141    {
     42        if (this->bActive_)
     43        {
     44            COUT(2) << "Warning: Detected Event loop in section \"" << this->eventname_ << "\" of object \"" << object->getName() << "\" and fired by \"" << event.originator_->getName() << "\"" << std::endl;
     45            return;
     46        }
     47
     48        this->bActive_ = true;
     49
    4250        if (this->eventname_ == event.sectionname_)
    4351        {
     
    6573            }
    6674        }
     75
     76        this->bActive_ = false;
    6777    }
    6878}
Note: See TracChangeset for help on using the changeset viewer.