X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftrigger%2Ftrigger_base.cpp;h=2c1ffb31f7955002f3cd92d170fcc01b07c64cf8;hb=8f2d3b4b577297359c0cb57acb7e0782a3c35ea5;hp=85a9a0e7e36e41a13ecd307ad63929148ee370bd;hpb=08813a74da6ac1fd045a105e4e8105f1d7f716f0;p=supertux.git diff --git a/src/trigger/trigger_base.cpp b/src/trigger/trigger_base.cpp index 85a9a0e7e..2c1ffb31f 100644 --- a/src/trigger/trigger_base.cpp +++ b/src/trigger/trigger_base.cpp @@ -21,8 +21,9 @@ TriggerBase::TriggerBase() : sprite(), - lasthit(false), - hit(false) + lasthit(false), + hit(false), + losetouch_listeners() { set_group(COLGROUP_TOUCHABLE); } @@ -30,7 +31,7 @@ TriggerBase::TriggerBase() : TriggerBase::~TriggerBase() { // unregister remove_listener hooks, so nobody will try to call us after we've been destroyed - for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); i++) { + for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); ++i) { Player* p = *i; p->del_remove_listener(this); } @@ -41,7 +42,7 @@ void TriggerBase::update(float ) { if (lasthit && !hit) { - for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); i++) { + for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); ++i) { Player* p = *i; event(*p, EVENT_LOSETOUCH); p->del_remove_listener(this); @@ -76,11 +77,11 @@ TriggerBase::collision(GameObject& other, const CollisionHit& ) return ABORT_MOVE; } - -void + +void TriggerBase::object_removed(GameObject* object) { - for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); i++) { + for (std::list::iterator i = losetouch_listeners.begin(); i != losetouch_listeners.end(); ++i) { Player* p = *i; if (p == object) { losetouch_listeners.erase(i);