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/checkbox.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/checkbox.cpp')
-rw-r--r-- | src/gui/widgets/checkbox.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/widgets/checkbox.cpp b/src/gui/widgets/checkbox.cpp index 20a58bdf1..f7dbf3526 100644 --- a/src/gui/widgets/checkbox.cpp +++ b/src/gui/widgets/checkbox.cpp @@ -322,3 +322,16 @@ void CheckBox::widgetHidden(const Event &event A_UNUSED) mTextChanged = true; mTextChunk.deleteImage(); } + +void CheckBox::setWindow(Widget *const widget) +{ + if (!widget && mWindow) + { + mWindow->removeWidgetListener(this); + mWindow = nullptr; + } + else + { + Widget2::setWindow(widget); + } +} |