summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2009-11-03 13:08:00 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2009-11-03 13:08:00 (GMT)
commit7b7c804723f1bbd71d436ab12f5e68a0f87c71d7 (patch)
treed8ce8756eddbb49e0947253be7c540714ed8aa42
parent4d0735b98a9bd6b440adf63725e6062b601ed442 (diff)
parent0a24f29a0f53716f9c9e000f5bb55ac5d925df5c (diff)
downloadQt-7b7c804723f1bbd71d436ab12f5e68a0f87c71d7.zip
Qt-7b7c804723f1bbd71d436ab12f5e68a0f87c71d7.tar.gz
Qt-7b7c804723f1bbd71d436ab12f5e68a0f87c71d7.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6
-rw-r--r--src/gui/image/qpixmap_mac.cpp12
-rw-r--r--src/gui/painting/qpainter.cpp2
-rw-r--r--src/gui/painting/qpainterpath_p.h9
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp9
-rw-r--r--src/opengl/qglpixmapfilter.cpp24
5 files changed, 16 insertions, 40 deletions
diff --git a/src/gui/image/qpixmap_mac.cpp b/src/gui/image/qpixmap_mac.cpp
index 15350e8..9209d45 100644
--- a/src/gui/image/qpixmap_mac.cpp
+++ b/src/gui/image/qpixmap_mac.cpp
@@ -305,11 +305,15 @@ void QMacPixmapData::fromImage(const QImage &img,
}
break;
}
- case QImage::Format_Indexed8:
- for (int x = 0; x < w; ++x) {
- *(drow+x) = PREMUL(image.color(*(srow + x)));
+ case QImage::Format_Indexed8: {
+ int numColors = image.numColors();
+ if (numColors > 0) {
+ for (int x = 0; x < w; ++x) {
+ int index = *(srow + x);
+ *(drow+x) = PREMUL(image.color(qMin(index, numColors)));
+ }
}
- break;
+ } break;
case QImage::Format_RGB32:
for (int x = 0; x < w; ++x)
*(drow+x) = *(((quint32*)srow) + x) | 0xFF000000;
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index cbae5b6..09a4563 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -7604,7 +7604,7 @@ start_lengthVariant:
l.setPosition(QPointF(0., height));
height += l.height();
width = qMax(width, l.naturalTextWidth());
- if (!brect && height >= r.height())
+ if (!dontclip && !brect && height >= r.height())
break;
}
textLayout.endLayout();
diff --git a/src/gui/painting/qpainterpath_p.h b/src/gui/painting/qpainterpath_p.h
index 112c2bd..54b9392 100644
--- a/src/gui/painting/qpainterpath_p.h
+++ b/src/gui/painting/qpainterpath_p.h
@@ -132,10 +132,9 @@ public:
QPainterPathData() :
cStart(0),
fillRule(Qt::OddEvenFill),
- pathConverter(0),
dirtyBounds(false),
- dirtyControlBounds(false)
-
+ dirtyControlBounds(false),
+ pathConverter(0)
{
ref = 1;
require_moveTo = false;
@@ -146,10 +145,10 @@ public:
QPainterPathPrivate(), cStart(other.cStart), fillRule(other.fillRule),
bounds(other.bounds),
controlBounds(other.controlBounds),
- pathConverter(0),
dirtyBounds(other.dirtyBounds),
dirtyControlBounds(other.dirtyControlBounds),
- convex(other.convex)
+ convex(other.convex),
+ pathConverter(0)
{
ref = 1;
require_moveTo = false;
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
index 34c448f..40a6241 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
@@ -153,13 +153,8 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
// Check that all the elements have been filled:
for (int i = 0; i < TotalSnippetCount; ++i) {
if (qShaderSnippets[i] == 0) {
- QByteArray msg;
- msg.append("Fatal: Shader Snippet for ");
- msg.append(snippetNameStr(SnippetName(i)));
- msg.append(" (");
- msg.append(QByteArray::number(i));
- msg.append(") is missing!");
- qFatal(msg.constData());
+ qFatal("Shader snippet for %s (#%d) is missing!",
+ snippetNameStr(SnippetName(i)).constData(), i);
}
}
#endif
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index ff19e06..8768fbc 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -316,28 +316,6 @@ static const char *qt_gl_texture_sampling_helper =
" return texture2D(src, srcCoords).a;\n"
"}\n";
-static const char *qt_gl_clamped_texture_sampling_helper =
- "highp vec4 texture_dimensions;\n" // x = width, y = height, z = 0.5/width, w = 0.5/height
- "lowp float clampedTexture2DAlpha(lowp sampler2D src, highp vec2 srcCoords) {\n"
- " highp vec2 clampedCoords = clamp(srcCoords, texture_dimensions.zw, vec2(1.0) - texture_dimensions.zw);\n"
- " highp vec2 t = clamp(min(srcCoords, vec2(1.0) - srcCoords) * srcDim + 0.5, 0.0, 1.0);\n"
- " return texture2D(src, clampedCoords).a * t.x * t.y;\n"
- "}\n"
- "lowp vec4 clampedTexture2D(lowp sampler2D src, highp vec2 srcCoords) {\n"
- " highp vec2 clampedCoords = clamp(srcCoords, texture_dimensions.zw, vec2(1.0) - texture_dimensions.zw);\n"
- " highp vec2 t = clamp(min(srcCoords, vec2(1.0) - srcCoords) * srcDim + 0.5, 0.0, 1.0);\n"
- " return texture2D(src, clampedCoords) * t.x * t.y;\n"
- "}\n";
-
-static QByteArray qt_gl_convertToClamped(const QByteArray &source)
-{
- QByteArray result;
- result.append(qt_gl_clamped_texture_sampling_helper);
- result.append(QByteArray(source).replace("texture2DAlpha", "clampedTexture2DAlpha")
- .replace("texture2D", "clampedTexture2D"));
- return result;
-}
-
QGLPixmapBlurFilter::QGLPixmapBlurFilter(QGraphicsBlurEffect::BlurHint hint)
: m_animatedBlur(false)
, m_haveCached(false)
@@ -433,7 +411,7 @@ QGLBlurTextureCache::~QGLBlurTextureCache()
blurTextureCaches.removeAt(blurTextureCaches.indexOf(this));
}
-void QGLBlurTextureCache::timerEvent(QTimerEvent *event)
+void QGLBlurTextureCache::timerEvent(QTimerEvent *)
{
killTimer(timerId);
timerId = 0;