summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp')
-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"