diff options
author | Stefan Dombrowski <stefan@uni-bonn.de> | 2010-08-21 22:56:44 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2010-08-21 23:03:22 +0200 |
commit | 0009672b80c666b8a7ddc0b7c36951eba1fa2c35 (patch) | |
tree | f1ab1d7448db36c46639e629eb49519644394905 /src | |
parent | df91c40fa79629adb2652ed1b5141d943113a936 (diff) | |
download | mana-0009672b80c666b8a7ddc0b7c36951eba1fa2c35.tar.gz mana-0009672b80c666b8a7ddc0b7c36951eba1fa2c35.tar.bz2 mana-0009672b80c666b8a7ddc0b7c36951eba1fa2c35.tar.xz mana-0009672b80c666b8a7ddc0b7c36951eba1fa2c35.zip |
Fixing segmentation fault and improving gui for party
* 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 <thorbjorn@lindeijer.nl>
Diffstat (limited to 'src')
-rw-r--r-- | src/game.cpp | 2 | ||||
-rw-r--r-- | src/gui/socialwindow.cpp | 4 | ||||
-rw-r--r-- | src/party.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
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<Player*>(b)->setParty(NULL); ++itr; } |