summaryrefslogtreecommitdiff
path: root/src/gui/widgets/textfield.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/textfield.cpp
parentfe84fc25906d6cc6801f9e15cf2652e1d16419ca (diff)
downloadmanaplus-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/textfield.cpp')
-rw-r--r--src/gui/widgets/textfield.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp
index 0d7b3d883..c7b9cd312 100644
--- a/src/gui/widgets/textfield.cpp
+++ b/src/gui/widgets/textfield.cpp
@@ -797,3 +797,16 @@ void TextField::setParent(Widget *widget)
mWindow->addWidgetListener(this);
Widget::setParent(widget);
}
+
+void TextField::setWindow(Widget *const widget)
+{
+ if (!widget && mWindow)
+ {
+ mWindow->removeWidgetListener(this);
+ mWindow = nullptr;
+ }
+ else
+ {
+ Widget2::setWindow(widget);
+ }
+}