During rendering, the integer time step of a data object is calculated in mitk::Mapper::Update(). The time step is set to "-1" (invalid), if either
- the current global time is out-of-range for the data object or
- the data object is not initialized or NULL
For invalid time-steps, the data object should not be displayed at all, and the respective render methods (GenerateData()) of concrete mapper subclasses should not be called.
A quick fix is to check the validity of the time step in mitk::Mapper::Update() and to return without calling GenerateData() if it is invalid. Moreover, it should be verified that
- previously displayed data are no longer displayed when the time step temporarily becomes invalid
- sub-classes do not check time step validity themselves, and everything necessary is handled in the base class Mapper