diff --git a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp index 46eb4416bf5..172e9fe7ac1 100644 --- a/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp @@ -473,31 +473,6 @@ void tst_QButtonGroup::checkedButton() QCOMPARE(buttons.checkedButton(), &pb2); } -class task209485_ButtonDeleter : public QObject -{ - Q_OBJECT - -public: - task209485_ButtonDeleter(QButtonGroup *group, bool deleteButton) - : group(group) - , deleteButton(deleteButton) - { - connect(group, &QButtonGroup::buttonClicked, - this, &task209485_ButtonDeleter::buttonClicked); - } - -private slots: - void buttonClicked() - { - if (deleteButton) - group->removeButton(group->buttons().first()); - } - -private: - QButtonGroup *group; - bool deleteButton; -}; - void tst_QButtonGroup::task209485_removeFromGroupInEventHandler_data() { QTest::addColumn("deleteButton"); @@ -512,16 +487,19 @@ void tst_QButtonGroup::task209485_removeFromGroupInEventHandler() QFETCH(int, signalCount); qRegisterMetaType("QAbstractButton *"); - TestPushButton *button = new TestPushButton; + TestPushButton button; QButtonGroup group; - group.addButton(button); + group.addButton(&button); - task209485_ButtonDeleter buttonDeleter(&group, deleteButton); + if (deleteButton) { + QObject::connect(&group, &QButtonGroup::buttonClicked, + &button, [&] { group.removeButton(&button); }); + } QSignalSpy spy1(&group, SIGNAL(buttonClicked(QAbstractButton*))); // NOTE: Reintroducing the bug of this task will cause the following line to crash: - QTest::mouseClick(button, Qt::LeftButton); + QTest::mouseClick(&button, Qt::LeftButton); QCOMPARE(spy1.size(), signalCount); }