diff options
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 9112e48869..1b6f6b8f8f 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 @@ -8414,7 +8422,7 @@ void QWidget::mouseReleaseEvent(QMouseEvent *event) void QWidget::mouseDoubleClickEvent(QMouseEvent *event) { - Q_UNUSED(event); + event->ignore(); } #ifndef QT_NO_WHEELEVENT |