aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/util/qdeclarativelistcompositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/util/qdeclarativelistcompositor.cpp')
-rw-r--r--src/declarative/util/qdeclarativelistcompositor.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/declarative/util/qdeclarativelistcompositor.cpp b/src/declarative/util/qdeclarativelistcompositor.cpp
index 02db70f09d..d73d76e386 100644
--- a/src/declarative/util/qdeclarativelistcompositor.cpp
+++ b/src/declarative/util/qdeclarativelistcompositor.cpp
@@ -199,7 +199,7 @@ QDeclarativeListCompositor::iterator &QDeclarativeListCompositor::iterator::oper
QDeclarativeListCompositor::insert_iterator &QDeclarativeListCompositor::insert_iterator::operator +=(int difference)
{
Q_ASSERT(difference >= 0);
- while (!(range->flags & groupFlag) && (range->flags & (GroupMask | CacheFlag))) {
+ while (!(range->flags & groupFlag)) {
incrementIndexes(range->count - offset);
offset = 0;
range = range->next;
@@ -221,10 +221,10 @@ QDeclarativeListCompositor::insert_iterator &QDeclarativeListCompositor::insert_
QDeclarativeListCompositor::insert_iterator &QDeclarativeListCompositor::insert_iterator::operator -=(int difference)
{
Q_ASSERT(difference >= 0);
- while (!(range->flags & groupFlag) && (range->flags & (GroupMask | CacheFlag))) {
+ while (!(range->flags & groupFlag) && range->previous->flags) {
decrementIndexes(offset);
range = range->previous;
- offset = range->count;
+ offset = (range->flags & (GroupMask | CacheFlag)) ? range->count : 0;
}
decrementIndexes(offset);
offset -= difference;