summaryrefslogtreecommitdiff
path: root/src/gui/widgets/checkbox.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-06-04 22:51:17 +0300
committerAndrei Karas <akaras@inbox.ru>2015-06-04 22:51:17 +0300
commitbc4957b24e6939f4e681e9412f9bbdd483a6bc35 (patch)
tree26f151a039a24f294774d32a4e1f89ceaa6ae2af /src/gui/widgets/checkbox.cpp
parentfe84fc25906d6cc6801f9e15cf2652e1d16419ca (diff)
downloadplus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.gz
plus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.bz2
plus-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.xz
plus-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.cpp13
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);
+ }
+}