diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2010-04-12 15:39:28 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2010-04-12 15:39:28 (GMT) |
commit | 3723f30a91eda1c1b247598913cfc02b001a02c9 (patch) | |
tree | 234241d0d6dbbf29857c4e66d2723f77239f31ee /src/gui/itemviews | |
parent | 6f736694461edc25b6e757f40ab9cad6a9207ad4 (diff) | |
parent | 957f36cb498657f94f1b5b92f52713254ff8c051 (diff) | |
download | Qt-3723f30a91eda1c1b247598913cfc02b001a02c9.zip Qt-3723f30a91eda1c1b247598913cfc02b001a02c9.tar.gz Qt-3723f30a91eda1c1b247598913cfc02b001a02c9.tar.bz2 |
Merge remote branch 'origin/4.6' into qt-4.7-from-4.6
Conflicts:
qmake/generators/symbian/symmake.cpp
src/gui/image/qimage.cpp
src/openvg/qwindowsurface_vgegl.cpp
Diffstat (limited to 'src/gui/itemviews')
-rw-r--r-- | src/gui/itemviews/qtableview.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp index 43445b4..31be224 100644 --- a/src/gui/itemviews/qtableview.cpp +++ b/src/gui/itemviews/qtableview.cpp @@ -114,15 +114,14 @@ void QSpanCollection::updateSpan(QSpanCollection::Span *span, int old_height) } } else if (old_height > span->height()) { //remove the span from all the subspans lists that intersect the columns not covered anymore - Index::iterator it_y = index.lowerBound(-span->bottom()); - if (it_y == index.end()) - it_y = index.find(-span->top()); // This is the only span remaining and we are deleting it. + Index::iterator it_y = index.lowerBound(-qMax(span->bottom(), span->top())); //qMax usefull if height is 0 Q_ASSERT(it_y != index.end()); //it_y must exist since the span is in the list while (-it_y.key() <= span->top() + old_height -1) { if (-it_y.key() > span->bottom()) { - (*it_y).remove(-span->left()); + int removed = (*it_y).remove(-span->left()); + Q_ASSERT(removed == 1); Q_UNUSED(removed); if (it_y->isEmpty()) { - it_y = index.erase(it_y) - 1; + it_y = index.erase(it_y); } } if(it_y == index.begin()) |