summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/graphicsview/qgraphicsscene_bsp.cpp12
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);