From bc4957b24e6939f4e681e9412f9bbdd483a6bc35 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 4 Jun 2015 22:51:17 +0300 Subject: Fix removing listeners from window if used guitable as container. This fixing crash with settings window after reconnect to server. --- src/gui/widgets/button.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/gui/widgets/button.cpp') diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp index 73a289630..842286ecb 100644 --- a/src/gui/widgets/button.cpp +++ b/src/gui/widgets/button.cpp @@ -915,3 +915,16 @@ void Button::setParent(Widget *widget) mWindow->addWidgetListener(this); Widget::setParent(widget); } + +void Button::setWindow(Widget *const widget) +{ + if (!widget && mWindow) + { + mWindow->removeWidgetListener(this); + mWindow = nullptr; + } + else + { + Widget2::setWindow(widget); + } +} -- cgit v1.2.3-60-g2f50