aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorTorbjörn Andersson2006-06-02 15:20:48 +0000
committerTorbjörn Andersson2006-06-02 15:20:48 +0000
commit984214a109a6751444afe4182dd2f32e1d104318 (patch)
treebb6559047b706d26de4d630aa60491de020e8df5 /gui
parent179f097202fbdaa73f3584454e9e4edf0db93d7f (diff)
downloadscummvm-rg350-984214a109a6751444afe4182dd2f32e1d104318.tar.gz
scummvm-rg350-984214a109a6751444afe4182dd2f32e1d104318.tar.bz2
scummvm-rg350-984214a109a6751444afe4182dd2f32e1d104318.zip
Let deleteWidget() check if it's deleting _mouseWidget, _focusedWidget or
_dragWidget. We don't want to keep references to the deleted widget. svn-id: r22836
Diffstat (limited to 'gui')
-rw-r--r--gui/dialog.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index 43baaf4b88..b1e00c2123 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -312,6 +312,13 @@ Widget *Dialog::findWidget(const char *name) {
}
void Dialog::deleteWidget(Widget *del) {
+ if (del == _mouseWidget)
+ _mouseWidget = NULL;
+ if (del == _focusedWidget)
+ _focusedWidget = NULL;
+ if (del == _dragWidget)
+ _dragWidget = NULL;
+
Widget *w = _firstWidget;
if (del == _firstWidget) {