summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@digia.com>2013-02-14 08:35:23 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-14 10:55:33 +0100
commit17e8286fef874630cb2703bd20885c6005bf674a (patch)
tree5c2477f03da7d631b71236702cee5f91fd112d5f /tests
parentff86f6ba4c730941e13e45c670828bb07d92c380 (diff)
Fixed mouse double click events not bubbling up to parent widgets.
The bug was caused by changes b371f3f943703840d0dfbe30505018bcca06e260 and 3bb902495291c50a2f06e8e03a62a647db3e5cd4, which removed the event forwarding that QWidget::mouseDoubleClickEvent() used to do without making sure to call ignore() on the event like QWidget::mousePressEvent() does. Task-number: QTBUG-29680 Change-Id: I98af8052ad3dd1dea15d07a710aa9212ef5e4a68 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index ab1500ee32..c1927c9d1f 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -411,6 +411,7 @@ private slots:
void destroyedSignal();
void keyboardModifiers();
+ void mouseDoubleClickBubbling_QTBUG29680();
private:
bool ensureScreenSize(int width, int height);
@@ -10047,5 +10048,30 @@ void tst_QWidget::keyboardModifiers()
QCOMPARE(int(w->m_appModifiers), int(Qt::ControlModifier));
}
+class DClickWidget : public QWidget
+{
+public:
+ DClickWidget() : triggered(false) {}
+ void mouseDoubleClickEvent(QMouseEvent *)
+ {
+ triggered = true;
+ }
+ bool triggered;
+};
+
+void tst_QWidget::mouseDoubleClickBubbling_QTBUG29680()
+{
+ DClickWidget parent;
+ QWidget child(&parent);
+ parent.resize(200, 200);
+ child.resize(200, 200);
+ parent.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&parent));
+
+ QTest::mouseDClick(&child, Qt::LeftButton);
+
+ QTRY_VERIFY(parent.triggered);
+}
+
QTEST_MAIN(tst_QWidget)
#include "tst_qwidget.moc"