diff options
author | axis <qt-info@nokia.com> | 2009-05-11 06:30:34 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2009-05-11 06:30:34 (GMT) |
commit | 804a0ff4ad8c27ece2d403b8d9a4f6f65cdcf867 (patch) | |
tree | 0258fb5f685ccaa710f8ea8ec9da9b6aa9f91d35 /src/gui/graphicsview/qgraphicsview.cpp | |
parent | efb3e7288eec748db11c35de87239a1eff4d457c (diff) | |
parent | 842ba1b3878c2973b24936b18a7ee55bdd980be6 (diff) | |
download | Qt-804a0ff4ad8c27ece2d403b8d9a4f6f65cdcf867.zip Qt-804a0ff4ad8c27ece2d403b8d9a4f6f65cdcf867.tar.gz Qt-804a0ff4ad8c27ece2d403b8d9a4f6f65cdcf867.tar.bz2 |
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt
Conflicts:
tests/auto/qtemporaryfile/qtemporaryfile.pro
Diffstat (limited to 'src/gui/graphicsview/qgraphicsview.cpp')
-rw-r--r-- | src/gui/graphicsview/qgraphicsview.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index b5a1bdf..05e4907 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -1071,8 +1071,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; |