From f88f405401cc5dcb98cce37f3237bf37b51f77af Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Tue, 15 Nov 2016 17:04:36 +0300 Subject: Add a test case for removing a submenu from the menubar If 5ca9631d3a0717afb066471ed5eb3b3ed9a9c08a is reverted, this test segfaults on Unity most of the times. Task-number: QTBUG-55966 Change-Id: Ice59842e0a1a7930e3cd10c4c7319ef033fe6a58 Reviewed-by: Shawn Rutledge --- tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp') diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 3a4c4545df..a5b33ed8e7 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -133,6 +133,7 @@ private slots: #ifdef Q_OS_MACOS void taskQTBUG56275_reinsertMenuInParentlessQMenuBar(); #endif + void taskQTBUG55966_subMenuRemoved(); void platformMenu(); @@ -1541,5 +1542,22 @@ void tst_QMenuBar::taskQTBUG56275_reinsertMenuInParentlessQMenuBar() } #endif // Q_OS_MACOS +void tst_QMenuBar::taskQTBUG55966_subMenuRemoved() +{ + QMainWindow window; + QMenuBar *menubar = window.menuBar(); + QMenu *parentMenu = menubar->addMenu("Parent menu"); + + QAction *action = parentMenu->addAction("Action in parent menu"); + QMenu *subMenu = new QMenu("Submenu"); + action->setMenu(subMenu); + delete subMenu; + + window.show(); + QApplication::setActiveWindow(&window); + QVERIFY(QTest::qWaitForWindowActive(&window)); + QTest::qWait(500); +} + QTEST_MAIN(tst_QMenuBar) #include "tst_qmenubar.moc" -- cgit v1.2.3