diff options
author | Ariya Hidayat <ariya.hidayat@trolltech.com> | 2009-03-16 14:07:06 (GMT) |
---|---|---|
committer | Alexis Menard <alexis.menard@trolltech.com> | 2009-04-07 18:16:27 (GMT) |
commit | 2a1ced292424501d3bf453f337f8ce9c8c17bda9 (patch) | |
tree | cd0d89b1633fbe273f038783949d0d299c212d65 | |
parent | 7185361703e2837e4258b18350da791c84f7ef62 (diff) | |
download | Qt-2a1ced292424501d3bf453f337f8ce9c8c17bda9.zip Qt-2a1ced292424501d3bf453f337f8ce9c8c17bda9.tar.gz Qt-2a1ced292424501d3bf453f337f8ce9c8c17bda9.tar.bz2 |
Fixes: Initialize the BSP tree if it has not been initialized before.
Details:
The BSP tree internal to QGraphicsScene does need this as the scene
does call initialize() at proper time.
This fix is needed only for using the BSP tree as custom indexing and/or
for autotest.
-rw-r--r-- | src/gui/graphicsview/qgraphicsscene_bsp.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene_bsp.cpp b/src/gui/graphicsview/qgraphicsscene_bsp.cpp index bf95893..b73cba2 100644 --- a/src/gui/graphicsview/qgraphicsscene_bsp.cpp +++ b/src/gui/graphicsview/qgraphicsscene_bsp.cpp @@ -247,8 +247,10 @@ void QGraphicsSceneBspTree::initialize(const QRectF &rect, int depth, int index) void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QPointF &pos, int index) { - if (nodes.isEmpty()) - return; + if (nodes.isEmpty()) { + // should never happen for bsp tree internal to QGraphicsScene + initialize(sceneRect, 0); + } const Node &node = nodes.at(index); int childIndex = firstChildIndex(index); @@ -277,8 +279,10 @@ void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, con void QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor *visitor, const QRectF &rect, int index) { - if (nodes.isEmpty()) - return; + if (nodes.isEmpty()) { + // should never happen for bsp tree internal to QGraphicsScene + initialize(sceneRect, 0); + } const Node &node = nodes.at(index); int childIndex = firstChildIndex(index); |