diff --git a/doomsday/libdeng2/src/widgets/rootwidget.cpp b/doomsday/libdeng2/src/widgets/rootwidget.cpp index e5121c6e6a..7b14219c2f 100644 --- a/doomsday/libdeng2/src/widgets/rootwidget.cpp +++ b/doomsday/libdeng2/src/widgets/rootwidget.cpp @@ -96,10 +96,11 @@ void RootWidget::setViewSize(Size const &size) void RootWidget::setFocus(Widget *widget) { - if(d->focus) d->focus->focusLost(); + Widget *oldFocus = d->focus; + d->focus = 0; + if(oldFocus) oldFocus->focusLost(); d->focus = widget; - if(d->focus) d->focus->focusGained(); }