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/textfield.cpp | |
parent | fe84fc25906d6cc6801f9e15cf2652e1d16419ca (diff) | |
download | manaverse-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.gz manaverse-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.bz2 manaverse-bc4957b24e6939f4e681e9412f9bbdd483a6bc35.tar.xz manaverse-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.cpp | 13 |
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); + } +} |