summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-03-10 09:22:38 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-03-10 09:22:39 +0100
commitffdacff6b0cf068c935e63c0238cbe509f14445c (patch)
tree67a3c43d755cf11a88620314b61e52353cbd696a /tests/auto/widgets/widgets
parentb1945604a78626ed25ad8afe70a64c2eac76a2b4 (diff)
parent1e27219968f760501c99f9f744f172d475a57162 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'tests/auto/widgets/widgets')
-rw-r--r--tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp
index 500ec2e1fa..84071962bc 100644
--- a/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp
+++ b/tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp
@@ -178,9 +178,11 @@ void tst_QLabel::setBuddy()
test_label= new QLabel( test_box );
test_label->setText( "&Test with a buddy" );
QWidget *test_edit = new QLineEdit( test_box );
+ QWidget *test_edit2 = new QLineEdit( test_box );
QVBoxLayout *layout = new QVBoxLayout(test_box);
layout->addWidget(test_label);
layout->addWidget(test_edit);
+ layout->addWidget(test_edit2);
test_box->show();
qApp->setActiveWindow(test_box);
QVERIFY(test_box->isActiveWindow());
@@ -190,6 +192,16 @@ void tst_QLabel::setBuddy()
QVERIFY( !test_edit->hasFocus() );
QTest::keyClick( test_box, 't', Qt::AltModifier );
QVERIFY( test_edit->hasFocus() );
+
+ // Setting a new buddy should disconnect the old one's destroyed() signal
+ test_label->setBuddy(test_edit2);
+ delete test_edit;
+ QCOMPARE(test_label->buddy(), test_edit2);
+
+ // And deleting our own buddy should disconnect and not crash
+ delete test_edit2;
+ QTest::keyClick(test_box, 't', Qt::AltModifier );
+
delete test_box;
}
#endif