summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview/qgraphicsview.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2009-05-06 22:04:41 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2009-05-06 22:04:41 (GMT)
commit014b5d404b19ad3d81686ba490eb7dd93efee573 (patch)
tree8fce9f8b172d4982270c5a91da0aa66fcb589f05 /src/gui/graphicsview/qgraphicsview.cpp
parent2eb0312c96ab828809158802d4cb7e0980227389 (diff)
parent311978919f63c2c23dd09b4743ff12cf2a8a47bb (diff)
downloadQt-014b5d404b19ad3d81686ba490eb7dd93efee573.zip
Qt-014b5d404b19ad3d81686ba490eb7dd93efee573.tar.gz
Qt-014b5d404b19ad3d81686ba490eb7dd93efee573.tar.bz2
Merge branch '4.5' of git@scm.dev.troll.no:qt/qt
Conflicts: src/gui/kernel/qcocoaview_mac_p.h src/gui/widgets/qmainwindow.cpp
Diffstat (limited to 'src/gui/graphicsview/qgraphicsview.cpp')
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 644e843..2876016 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -1081,8 +1081,12 @@ QList<QGraphicsItem *> QGraphicsViewPrivate::findItems(const QRegion &exposedReg
QList<QGraphicsItem *> itemList(scene->items());
int i = 0;
while (i < itemList.size()) {
+ const QGraphicsItem *item = itemList.at(i);
// But we only want to include items that are visible
- if (!itemList.at(i)->isVisible())
+ // The following check is basically the same as item->d_ptr->isInvisible(), except
+ // that we don't check whether the item clips children to shape or propagates its
+ // opacity (we loop through all items, so those checks are wrong in this context).
+ if (!item->isVisible() || item->d_ptr->isClippedAway() || item->d_ptr->isFullyTransparent())
itemList.removeAt(i);
else
++i;