diff options
author | Janne Anttila <janne.anttila@digia.com> | 2009-11-11 13:34:15 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2009-11-16 15:21:41 (GMT) |
commit | 61387de54f789ff47ee119922de5a719d6b4decc (patch) | |
tree | ba1f0b8ac693b595635f1a75181b07e00db9ae26 /src/gui | |
parent | 8c026965779aa43c519f91a97495d0864ec3bc26 (diff) | |
download | Qt-61387de54f789ff47ee119922de5a719d6b4decc.zip Qt-61387de54f789ff47ee119922de5a719d6b4decc.tar.gz Qt-61387de54f789ff47ee119922de5a719d6b4decc.tar.bz2 |
Fix for assertion failure in in QWidget::grabMouse for Symbian.
Docs say: "Note that only visible widgets can grab mouse input.
If isVisible() returns false for a widget, that widget cannot call
grabMouse()."
qwidget_x11.cpp uses the similar condition in grabMouse as symbian
after this commit.
Task-number: QTBUG-5658
Reviewed-by: Jason Barron
(cherry picked from commit 258e751b7f4c3ff5e44fdbd654ce45d0693934bf)
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qwidget_s60.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index d39b46c..b1c37d3 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -1238,7 +1238,7 @@ void QWidget::releaseKeyboard() void QWidget::grabMouse() { - if (!qt_nograb()) { + if (isVisible() && !qt_nograb()) { if (QWidgetPrivate::mouseGrabber && QWidgetPrivate::mouseGrabber != this) QWidgetPrivate::mouseGrabber->releaseMouse(); Q_ASSERT(testAttribute(Qt::WA_WState_Created)); @@ -1255,7 +1255,7 @@ void QWidget::grabMouse() #ifndef QT_NO_CURSOR void QWidget::grabMouse(const QCursor &cursor) { - if (!qt_nograb()) { + if (isVisible() && !qt_nograb()) { if (QWidgetPrivate::mouseGrabber && QWidgetPrivate::mouseGrabber != this) QWidgetPrivate::mouseGrabber->releaseMouse(); Q_ASSERT(testAttribute(Qt::WA_WState_Created)); |