diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-04 22:51:17 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-04 22:51:17 +0300 |
commit | bc4957b24e6939f4e681e9412f9bbdd483a6bc35 (patch) | |
tree | 26f151a039a24f294774d32a4e1f89ceaa6ae2af /src/gui/widgets/label.cpp | |
parent | fe84fc25906d6cc6801f9e15cf2652e1d16419ca (diff) | |
download | manaplus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.gz manaplus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.bz2 manaplus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.xz manaplus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.zip |
Fix removing listeners from window if used guitable as container.
This fixing crash with settings window after reconnect to server.
Diffstat (limited to 'src/gui/widgets/label.cpp')
-rw-r--r-- | src/gui/widgets/label.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/widgets/label.cpp b/src/gui/widgets/label.cpp index e3ba34d26..722e1bbe9 100644 --- a/src/gui/widgets/label.cpp +++ b/src/gui/widgets/label.cpp @@ -269,6 +269,19 @@ void Label::setParent(Widget *widget) Widget::setParent(widget); } +void Label::setWindow(Widget *const widget) +{ + if (!widget && mWindow) + { + mWindow->removeWidgetListener(this); + mWindow = nullptr; + } + else + { + Widget2::setWindow(widget); + } +} + void Label::widgetHidden(const Event &event A_UNUSED) { mTextChanged = true; |