Fixed a Segmentation Fault when mr_iceblock was kicked into a brick containing coins...
[supertux.git] / src / object / lantern.cpp
index fcdc675..db909a9 100644 (file)
@@ -33,21 +33,20 @@ Lantern::Lantern(const Reader& reader) :
   std::vector<float> vColor;
   reader.get("color", vColor);
   lightcolor = Color(vColor);
-  lightsprite = sprite_manager->create("images/objects/lightmap_light/lightmap_light.sprite");
+  lightsprite = SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light.sprite");
   lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
   updateColor();
-  sound_manager->preload("sounds/willocatch.wav");
+  SoundManager::current()->preload("sounds/willocatch.wav");
 }
 
 Lantern::Lantern(const Vector& pos) :
   Rock(pos, "images/objects/lantern/lantern.sprite"),
   lightcolor(0.0f, 0.0f, 0.0f),
-  lightsprite()
+  lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light.sprite"))
 {
-  lightsprite = sprite_manager->create("images/objects/lightmap_light/lightmap_light.sprite");
   lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
   updateColor();
-  sound_manager->preload("sounds/willocatch.wav");
+  SoundManager::current()->preload("sounds/willocatch.wav");
 }
 
 Lantern::~Lantern()
@@ -84,7 +83,7 @@ HitResponse Lantern::collision(GameObject& other, const CollisionHit& hit) {
     WillOWisp* wow = dynamic_cast<WillOWisp*>(&other);
     if (wow) {
       // collided with WillOWisp while grabbed and unlit
-      sound_manager->play("sounds/willocatch.wav");
+      SoundManager::current()->play("sounds/willocatch.wav");
       lightcolor = Color(0,1,0);
       updateColor();
       wow->vanish();
@@ -92,7 +91,7 @@ HitResponse Lantern::collision(GameObject& other, const CollisionHit& hit) {
     TreeWillOWisp* twow = dynamic_cast<TreeWillOWisp*>(&other);
     if (twow) {
       // collided with TreeWillOWisp while grabbed and unlit
-      sound_manager->play("sounds/willocatch.wav");
+      SoundManager::current()->play("sounds/willocatch.wav");
       lightcolor = twow->get_color();
       updateColor();
       twow->vanish();
@@ -123,8 +122,8 @@ Lantern::ungrab(MovingObject& object, Direction dir)
 
   Rock::ungrab(object, dir);
 }
-  
-bool 
+
+bool
 Lantern::is_open()
 {
   return ((grabbed) && lightcolor.red == 0 && lightcolor.green == 0 && lightcolor.blue == 0);