summaryrefslogtreecommitdiffstats
path: root/tests/auto/qgraphicsgridlayout
diff options
context:
space:
mode:
authorJan-Arve Sæther <jan-arve.saether@nokia.com>2009-10-19 07:39:30 (GMT)
committerJan-Arve Sæther <jan-arve.saether@nokia.com>2009-10-19 07:39:30 (GMT)
commit856efef9bf87e0b7e5ed6ad2ccb225e294321888 (patch)
tree452563793f599fd457b2558e74561a864d5285af /tests/auto/qgraphicsgridlayout
parent6f20e48d946fa3c90215f6affe5aa490559a6971 (diff)
downloadQt-856efef9bf87e0b7e5ed6ad2ccb225e294321888.zip
Qt-856efef9bf87e0b7e5ed6ad2ccb225e294321888.tar.gz
Qt-856efef9bf87e0b7e5ed6ad2ccb225e294321888.tar.bz2
Do not loop forever if we are adding the layout itself to the layout.
Reviewed-by: alexis
Diffstat (limited to 'tests/auto/qgraphicsgridlayout')
-rw-r--r--tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
index 554292f..e33c7b6 100644
--- a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
+++ b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
@@ -104,6 +104,7 @@ private slots:
void defaultStretchFactors();
void geometries_data();
void geometries();
+ void avoidRecursionInInsertItem();
void task236367_maxSizeHint();
};
@@ -2081,6 +2082,16 @@ void tst_QGraphicsGridLayout::geometries()
delete widget;
}
+void tst_QGraphicsGridLayout::avoidRecursionInInsertItem()
+{
+ QGraphicsWidget window(0, Qt::Window);
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout(&window);
+ QCOMPARE(layout->count(), 0);
+ QTest::ignoreMessage(QtWarningMsg, "QGraphicsGridLayout::addItem: cannot insert itself");
+ layout->addItem(layout, 0, 0);
+ QCOMPARE(layout->count(), 0);
+}
+
void tst_QGraphicsGridLayout::task236367_maxSizeHint()
{
QGraphicsWidget *widget = new QGraphicsWidget;