From 42f6993e0deacc857302f48004031dd45b739874 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Mon, 2 Aug 2010 02:32:18 -0600 Subject: Remove non-GUI references to MiniStatusWindow Reviewed-by: Freeyorp --- src/gui/viewport.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/gui/viewport.cpp') diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index fc9adab1..b6e4f71d 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -495,14 +495,17 @@ void Viewport::mouseMoved(gcn::MouseEvent &event) const int x = (event.getX() + (int) mPixelViewX); const int y = (event.getY() + (int) mPixelViewY); + mHoverBeing->removeActorSpriteListener(this); mHoverBeing = actorSpriteManager->findBeingByPixel(x, y); mBeingPopup->show(getMouseX(), getMouseY(), mHoverBeing); + mHoverItem->removeActorSpriteListener(this); mHoverItem = actorSpriteManager->findItem(x / mMap->getTileWidth(), y / mMap->getTileHeight()); if (mHoverBeing) { + mHoverBeing->addActorSpriteListener(this); switch (mHoverBeing->getType()) { // NPCs @@ -522,6 +525,7 @@ void Viewport::mouseMoved(gcn::MouseEvent &event) } else if (mHoverItem) { + mHoverItem->addActorSpriteListener(this); gui->setCursorType(Gui::CURSOR_PICKUP); } else @@ -546,11 +550,11 @@ void Viewport::hideBeingPopup() mBeingPopup->setVisible(false); } -void Viewport::clearHover(ActorSprite *actor) +void Viewport::actorSpriteDestroyed(const ActorSprite &actorSprite) { - if (mHoverBeing == actor) + if (&actorSprite == mHoverBeing) mHoverBeing = 0; - if (mHoverItem == actor) + if (&actorSprite == mHoverItem) mHoverItem = 0; } -- cgit v1.2.3-70-g09d2