diff options
-rw-r--r-- | engines/tsage/core.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 5a6969f856..eab5efbce0 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -1247,8 +1247,11 @@ void ScenePalette::getPalette(int start, int count) { } void ScenePalette::signalListeners() { - for (SynchronisedList<PaletteModifier *>::iterator i = _listeners.begin(); i != _listeners.end(); ++i) { - (*i)->signal(); + SynchronisedList<PaletteModifier *>::iterator i = _listeners.begin(); + while (i != _listeners.end()) { + PaletteModifier *obj = *i; + ++i; + obj->signal(); } } |