diff options
Diffstat (limited to 'tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp')
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 26 |
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" |