summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp1
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 0cfaab7..b7385d4 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1822,6 +1822,7 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo
q_ptr->setSelected(false);
} else {
geometryChanged = 1;
+ paintedViewBoundingRectsNeedRepaint = 1;
if (isWidget && scene) {
QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(q_ptr);
if (widget->windowType() == Qt::Popup)
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index c7c0865..aa7fa4c 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -4568,7 +4568,7 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
if (!item->d_ptr->dirty)
continue;
- if (!item->d_ptr->geometryChanged
+ if (!item->d_ptr->paintedViewBoundingRectsNeedRepaint
&& paintedViewBoundingRect.x() == -1 && paintedViewBoundingRect.y() == -1
&& paintedViewBoundingRect.width() == -1 && paintedViewBoundingRect.height() == -1) {
continue; // Outside viewport.
@@ -4587,7 +4587,7 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
continue; // Discard updates outside the bounding rect.
if (!updateHelper(viewPrivate, item->d_ptr, dirtyRect, itemIsUntransformable)
- && item->d_ptr->geometryChanged) {
+ && item->d_ptr->paintedViewBoundingRectsNeedRepaint) {
paintedViewBoundingRect = QRect(-1, -1, -1, -1); // Outside viewport.
}
}