From c3bb4f8f2eff05ccdb8a3f9ef58fc741eedfaa79 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 30 Apr 2016 15:11:07 +0300 Subject: Fix issies found by gcc 6 in paranoid mode. --- src/actions/actions.cpp | 7 +++---- src/gui/models/playertablemodel.cpp | 2 ++ src/gui/windows/buydialog.cpp | 6 +++++- src/gui/windows/setupwindow.cpp | 2 +- src/listeners/tooltiplistener.cpp | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp index 644a6f645..5a461f522 100644 --- a/src/actions/actions.cpp +++ b/src/actions/actions.cpp @@ -1322,14 +1322,13 @@ impHandler0(serverUnIgnoreAll) PRAGMA6(GCC diagnostic push) PRAGMA6(GCC diagnostic ignored "-Wnull-dereference") - impHandler0(error) { - const int *const ptr = nullptr; - logger->log("test %d", *ptr); + int *const ptr = nullptr; + *(ptr + 1) = 20; +// logger->log("test %d", *ptr); exit(1); } - PRAGMA6(GCC diagnostic pop) impHandler(dumpGraphics) diff --git a/src/gui/models/playertablemodel.cpp b/src/gui/models/playertablemodel.cpp index e3458abc3..744c56c57 100644 --- a/src/gui/models/playertablemodel.cpp +++ b/src/gui/models/playertablemodel.cpp @@ -120,6 +120,8 @@ void PlayerTableModel::updateModelInRow(const int row) const { const DropDown *const choicebox = static_cast( getElementAt(row, RELATION_CHOICE_COLUMN)); + if (!choicebox) + return; player_relations.setRelation(getPlayerAt(row), static_cast( choicebox->getSelected())); diff --git a/src/gui/windows/buydialog.cpp b/src/gui/windows/buydialog.cpp index fa7297bdd..9dd083d61 100644 --- a/src/gui/windows/buydialog.cpp +++ b/src/gui/windows/buydialog.cpp @@ -617,7 +617,11 @@ void BuyDialog::updateSlider(const int selectedItem) // Update money and adjust the max number of items // that can be bought mMaxItems -= mAmountItems; - setMoney(mMoney - mAmountItems * mShopItems->at(selectedItem)->getPrice()); + const ShopItem *const item = mShopItems->at(selectedItem); + if (item) + setMoney(mMoney - mAmountItems * item->getPrice()); + else + setMoney(mMoney); // Reset selection mAmountItems = 1; diff --git a/src/gui/windows/setupwindow.cpp b/src/gui/windows/setupwindow.cpp index 29f9cf126..19c1e6c52 100644 --- a/src/gui/windows/setupwindow.cpp +++ b/src/gui/windows/setupwindow.cpp @@ -26,6 +26,7 @@ #include "game.h" #include "gui/windows/chatwindow.h" +#include "gui/windows/statuswindow.h" #include "gui/widgets/createwidget.h" @@ -57,7 +58,6 @@ #include "debug.h" -extern Window *statusWindow; SetupWindow *setupWindow = nullptr; SetupWindow::SetupWindow() : diff --git a/src/listeners/tooltiplistener.cpp b/src/listeners/tooltiplistener.cpp index 0080230d3..0281be969 100644 --- a/src/listeners/tooltiplistener.cpp +++ b/src/listeners/tooltiplistener.cpp @@ -35,7 +35,7 @@ ToolTipListener::ToolTipListener() : void ToolTipListener::mouseMoved(MouseEvent &event) { - if (mToolTip.empty()) + if (mToolTip.empty() || !textBoxPopup) return; int x = 0; @@ -56,7 +56,7 @@ void ToolTipListener::mouseMoved(MouseEvent &event) void ToolTipListener::mouseExited(MouseEvent &event A_UNUSED) { - if (mToolTip.empty()) + if (mToolTip.empty() || !textBoxPopup) return; textBoxPopup->hide(); } -- cgit v1.2.3-70-g09d2