diff -r dee5afe5301f -r 3f74d0d4af4c src/gui/graphicsview/qgraphicsproxywidget.cpp --- a/src/gui/graphicsview/qgraphicsproxywidget.cpp Mon Mar 15 12:43:09 2010 +0200 +++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp Thu Apr 08 14:19:33 2010 +0300 @@ -1315,6 +1315,8 @@ return; } + d->proxyIsGivingFocus = true; + switch (event->reason()) { case Qt::TabFocusReason: { if (QWidget *focusChild = d->findFocusChild(0, true)) @@ -1328,10 +1330,11 @@ default: if (d->widget && d->widget->focusWidget()) { d->widget->focusWidget()->setFocus(event->reason()); - return; } break; } + + d->proxyIsGivingFocus = false; } /*!