From 53cc3c86f2b5040cec577145feff9db2c93bd268 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 17 May 2015 02:48:54 +0300 Subject: Fix some issues after automatic checks. --- src/gui/popups/popupmenu.cpp | 2 +- src/gui/widgets/tabbedarea.cpp | 2 ++ src/gui/widgets/tabs/setup_relations.cpp | 6 ++++-- src/gui/windows/inventorywindow.cpp | 6 +++++- src/gui/windows/killstats.cpp | 5 +++-- src/gui/windows/skilldialog.cpp | 4 +++- 6 files changed, 18 insertions(+), 7 deletions(-) (limited to 'src/gui') diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index 78f4fd475..4f00d6050 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -1236,7 +1236,7 @@ void PopupMenu::handleLink(const std::string &link, } else if (link == "priority movedown") { - if (localPlayer) + if (localPlayer && actorManager) { const int idx = actorManager ->getPriorityAttackMobIndex(mNick); diff --git a/src/gui/widgets/tabbedarea.cpp b/src/gui/widgets/tabbedarea.cpp index dbfc068e6..2be152d4a 100644 --- a/src/gui/widgets/tabbedarea.cpp +++ b/src/gui/widgets/tabbedarea.cpp @@ -777,6 +777,8 @@ void TabbedArea::selectPrevTab() if (tab == 0) tab = static_cast(mTabs.size()); + if (tab < 0) + return; tab--; setSelectedTab(mTabs[tab].first); } diff --git a/src/gui/widgets/tabs/setup_relations.cpp b/src/gui/widgets/tabs/setup_relations.cpp index 4b8be484c..ffa5e1a66 100644 --- a/src/gui/widgets/tabs/setup_relations.cpp +++ b/src/gui/widgets/tabs/setup_relations.cpp @@ -216,9 +216,11 @@ void Setup_Relations::action(const ActionEvent &event) } else if (eventId == ACTION_STRATEGY) { + const int sel = mIgnoreActionChoicesBox->getSelected(); + if (sel < 0) + return; PlayerIgnoreStrategy *const s = - (*player_relations.getPlayerIgnoreStrategies())[ - mIgnoreActionChoicesBox->getSelected()]; + (*player_relations.getPlayerIgnoreStrategies())[sel]; player_relations.setPlayerIgnoreStrategy(s); } diff --git a/src/gui/windows/inventorywindow.cpp b/src/gui/windows/inventorywindow.cpp index c87fe3ebc..9a99937d5 100644 --- a/src/gui/windows/inventorywindow.cpp +++ b/src/gui/windows/inventorywindow.cpp @@ -148,8 +148,12 @@ InventoryWindow::InventoryWindow(Inventory *const inventory) : mSortDropDown->setSelected(0); } - if (setupWindow && inventory->getType() != InventoryType::STORAGE) + if (setupWindow && + inventory && + inventory->getType() != InventoryType::STORAGE) + { setupWindow->registerWindowForReset(this); + } setResizable(true); setCloseButton(true); diff --git a/src/gui/windows/killstats.cpp b/src/gui/windows/killstats.cpp index efb0ea0df..919b11e9a 100644 --- a/src/gui/windows/killstats.cpp +++ b/src/gui/windows/killstats.cpp @@ -216,7 +216,8 @@ void KillStats::gainXp(int xp) if (!mKillCounter) mKillCounter = 1; - const float AvgExp = static_cast(mExpCounter / mKillCounter); + const float AvgExp = static_cast(mExpCounter) + / static_cast(mKillCounter); int xpNextLevel(expNeed); if (mKillTimer == 0) @@ -348,7 +349,7 @@ void KillStats::update() mExpTime1Label->setCaption(strprintf(_(" Time for next level: %s"), toString(static_cast((PlayerInfo::getAttribute( Attributes::EXP_NEEDED) - PlayerInfo::getAttribute( - Attributes::EXP)) / m1minSpeed)).c_str())); + Attributes::EXP)) / static_cast(m1minSpeed))).c_str())); } else { diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp index 10a5f987b..20cafc2c6 100644 --- a/src/gui/windows/skilldialog.cpp +++ b/src/gui/windows/skilldialog.cpp @@ -661,6 +661,8 @@ void SkillDialog::playCastingDstEffect(const int id, Being *const being) const void SkillDialog::useSkill(const SkillInfo *const info) { + if (!info) + return; const SkillData *const data = info->data; if (data) { @@ -668,7 +670,7 @@ void SkillDialog::useSkill(const SkillInfo *const info) if (!cmd.empty()) SpellManager::invokeCommand(cmd, localPlayer->getTarget()); } - if (info && localPlayer) + if (localPlayer) { switch (info->type) { -- cgit v1.2.3-60-g2f50