summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r--src/widgets/kernel/qwidget.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 7209d8c9ad..5ec713140e 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1391,6 +1391,14 @@ QWidget::~QWidget()
QT_TRY {
+#ifndef QT_NO_GRAPHICSVIEW
+ const QWidget* w = this;
+ while (w->d_func()->extra && w->d_func()->extra->focus_proxy)
+ w = w->d_func()->extra->focus_proxy;
+ QWidget *window = w->window();
+ QWExtra *e = window ? window->d_func()->extra : 0;
+ if (!e || !e->proxyWidget)
+#endif
clearFocus();
} QT_CATCH(...) {
// swallow this problem because we are in a destructor