bugfix: properly remove remaining events of terminating experiment
Before this commit, EventList::getEventsOf() broke when *two* experiment flows terminated in direct succession: (*it)->getParent() fails if the underlying event doesn't exist anymore. To fix this, I moved the event removal from SimulatorController to EventList::remove(flow), and made it work on the internal event list magic similarly to EventList::remove(event). And I tested it with a few known-working experiments. git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1022 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -130,15 +130,10 @@ class EventList
|
||||
*/
|
||||
BaseEvent* getEventFromId(EventId id);
|
||||
/**
|
||||
* Retrieves all events for the specified experiment.
|
||||
* @param pWhat pointer to experiment context (this pointer is expected
|
||||
* to be valid!)
|
||||
* @param dest a reference to a vector-object to be used as the
|
||||
* destination buffer for the machting event objects. This
|
||||
* objects may remains unchanged if no matching event objects
|
||||
* were found.
|
||||
* Removes all events for the specified experiment.
|
||||
* @param flow pointer to experiment context (0 = all experiments)
|
||||
*/
|
||||
void getEventsOf(ExperimentFlow* pWhat, std::vector<BaseEvent*>& dest) const;
|
||||
void remove(ExperimentFlow* flow);
|
||||
/**
|
||||
* Retrieves the number of experiments which currently have active
|
||||
* events. This number is trivially equal to the (current) total
|
||||
|
||||
Reference in New Issue
Block a user