diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/widgets/button.cpp | 8 | ||||
-rw-r--r-- | src/gui/widgets/button.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp index 00e781e0..4a31fa63 100644 --- a/src/gui/widgets/button.cpp +++ b/src/gui/widgets/button.cpp @@ -118,7 +118,7 @@ bool Button::setButtonIcon(const std::string& iconFile) return (mButtonIcon); } -void Button::removeButtonIcon() +void Button::removeButtonIcon(bool adjustButtonSize) { if (!mButtonIcon) return; @@ -132,7 +132,8 @@ void Button::removeButtonIcon() delete[] mButtonIcon; mButtonIcon = 0; - adjustSize(); + if (adjustButtonSize) + adjustSize(); } void Button::init() @@ -190,7 +191,8 @@ Button::~Button() delete mTextPopup; mTextPopup = 0; } - removeButtonIcon(); + // Don' try to readjust the size when it's about to be deleted. + removeButtonIcon(false); } void Button::updateAlpha() diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h index 467a9125..f07bb913 100644 --- a/src/gui/widgets/button.h +++ b/src/gui/widgets/button.h @@ -89,7 +89,7 @@ class Button : public gcn::Button private: void init(); - void removeButtonIcon(); + void removeButtonIcon(bool adjustButtonSize = true); static ImageRect* mButton; /**< Button state graphics */ static int mInstances; /**< Number of button instances */ |