From 0009672b80c666b8a7ddc0b7c36951eba1fa2c35 Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Sat, 21 Aug 2010 22:56:44 +0200 Subject: Fixing segmentation fault and improving gui for party MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Segmentation fault happened if a player left a party while other party members are offline. * While creating a party the key input is not anymore reused for game play. * The vertical scrollbar is only shown when needed. * The default height was raised, because before much of the functionality was hidden. Signed-off-by: Thorbjørn Lindeijer --- src/game.cpp | 2 +- src/gui/socialwindow.cpp | 4 ++-- src/party.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/game.cpp b/src/game.cpp index ec5e6b13..d34dc049 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -754,7 +754,7 @@ void Game::handleInput() // Moving player around if (player_node->isAlive() && !NPC::isTalking() && - !chatWindow->isInputFocused() && !quitDialog) + !chatWindow->isInputFocused() && !quitDialog && !TextDialog::isActive()) { // Get the state of the keyboard keys keyboard.refreshActiveKeys(); diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp index 098ecbc5..f6e1d0aa 100644 --- a/src/gui/socialwindow.cpp +++ b/src/gui/socialwindow.cpp @@ -186,7 +186,7 @@ public: mScroll = new ScrollArea(mList); mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_AUTO); - mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_ALWAYS); + mScroll->setVerticalScrollPolicy(gcn::ScrollArea::SHOW_AUTO); } ~PartyTab() @@ -321,7 +321,7 @@ SocialWindow::SocialWindow() : setCloseButton(true); setMinWidth(120); setMinHeight(55); - setDefaultSize(590, 200, 150, 60); + setDefaultSize(590, 200, 150, 124); setupWindow->registerWindowForReset(this); loadWindowState(); diff --git a/src/party.cpp b/src/party.cpp index 75283916..155de2ba 100644 --- a/src/party.cpp +++ b/src/party.cpp @@ -145,7 +145,7 @@ void Party::removeFromMembers() while(itr != itr_end) { Being *b = beingManager->findBeing((*itr)->getID()); - if (b->getType() == Being::PLAYER) + if (b && b->getType() == Being::PLAYER) static_cast(b)->setParty(NULL); ++itr; } -- cgit v1.2.3-70-g09d2