diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-11-06 02:17:00 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-11-06 02:17:00 (GMT) |
commit | 8b01937c36632fca8774e90d22ce2aaeb2df883d (patch) | |
tree | 1f036bcd4d27744c7a4db995d07251ef0e7f3a45 /src/gui | |
parent | 7f6deb2d42933f59adbebc95b872e670978de3e6 (diff) | |
parent | 0c95cffd81a21f63f647dccd79ae425d157e9758 (diff) | |
download | Qt-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.cpp | 38 |
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; |