summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-11-06 02:17:00 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-11-06 02:17:00 (GMT)
commit8b01937c36632fca8774e90d22ce2aaeb2df883d (patch)
tree1f036bcd4d27744c7a4db995d07251ef0e7f3a45 /src/gui
parent7f6deb2d42933f59adbebc95b872e670978de3e6 (diff)
parent0c95cffd81a21f63f647dccd79ae425d157e9758 (diff)
downloadQt-8b01937c36632fca8774e90d22ce2aaeb2df883d.zip
Qt-8b01937c36632fca8774e90d22ce2aaeb2df883d.tar.gz
Qt-8b01937c36632fca8774e90d22ce2aaeb2df883d.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (45 commits) mkspecs: Move QMAKE_CC and QMAKE_CXX from gcc-base.conf to g++-base.conf mkspecs: Make linux-x86-openkode-g++ not include g++.conf directly mkspecs: Include gcc-base-unix.conf from g++.conf to match old behavior configure: Deal with multiple redefinitions of qmake variables Split QScriptValue::call autotest into smaller tests. Optimize and clean up QClipData::fixup() There is no predefined qmake x11 scope for x11 builds. Refactor tst_QScriptContext::throwError test. Fixed whitespace. Don't use scopes in mkspecs as configure does not support them Fixed destination path for the S60 feedback plugin. Don't put Objective-C sources in SOURCES Fix regression in tst_maketestselftest::naming_convention. Split monolithic QScriptEngine autotests into smaller tests Add SunSpider and V8 benchmarks to benchmarks/script.pro Push and pop the thread-default context for the current thread Silence preprocessor warnings about __TARGET_ARCH_ARM not being defined. Import SunSpider benchmarks for QtScript Import V8 benchmarks for QtScript Add more microbenchmarks for QScriptValue ...
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index a2da94c..8088e63 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -4629,38 +4629,40 @@ void QClipData::fixup()
return;
}
-// qDebug("QClipData::fixup: count=%d",count);
int y = -1;
ymin = m_spans[0].y;
ymax = m_spans[count-1].y + 1;
xmin = INT_MAX;
xmax = 0;
+ const int firstLeft = m_spans[0].x;
+ const int firstRight = m_spans[0].x + m_spans[0].len;
bool isRect = true;
- int left = m_spans[0].x;
- int right = m_spans[0].x + m_spans[0].len;
for (int i = 0; i < count; ++i) {
- if (m_spans[i].y != y) {
- if (m_spans[i].y != y + 1 && y != -1) {
+ QT_FT_Span_& span = m_spans[i];
+
+ if (span.y != y) {
+ if (span.y != y + 1 && y != -1)
isRect = false;
- }
- y = m_spans[i].y;
- m_clipLines[y].spans = m_spans+i;
- m_clipLines[y].count = 0;
-// qDebug() << " new line: y=" << y;
- }
- ++m_clipLines[y].count;
- int sl = (int) m_spans[i].x;
- int sr = sl + m_spans[i].len;
+ y = span.y;
+ m_clipLines[y].spans = &span;
+ m_clipLines[y].count = 1;
+ } else
+ ++m_clipLines[y].count;
+
+ const int spanLeft = span.x;
+ const int spanRight = spanLeft + span.len;
+
+ if (spanLeft < xmin)
+ xmin = spanLeft;
- xmin = qMin(xmin, (int)m_spans[i].x);
- xmax = qMax(xmax, (int)m_spans[i].x + m_spans[i].len);
+ if (spanRight > xmax)
+ xmax = spanRight;
- if (sl != left || sr != right)
+ if (spanLeft != firstLeft || spanRight != firstRight)
isRect = false;
}
-// qDebug("xmin=%d,xmax=%d,ymin=%d,ymax=%d %s", xmin, xmax, ymin, ymax, isRect ? "rectangular" : "");
if (isRect) {
hasRectClip = true;