summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-03-28 12:18:03 +0200
committerLiang Qi <liang.qi@qt.io>2017-03-28 12:18:11 +0200
commite52eb747b1d1c3026fed39e833c0c7365a8d5117 (patch)
tree0dad16b7379751c9cb43aa700b471de76fe6424d /src/gui/painting
parenta6bbaa08bfb37a77afa9ee8077cd51f74dd9ee9c (diff)
parent781b5a6198aef300bb8f1fdc6681d4756001d3b4 (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qdrawhelper.cpp16
-rw-r--r--src/gui/painting/qdrawhelper_sse2.cpp24
-rw-r--r--src/gui/painting/qpdf.cpp3
3 files changed, 22 insertions, 21 deletions
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 5c38648fe7..0cd5ff1d0e 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -6315,13 +6315,13 @@ inline void qt_memfill_template(T *dest, T color, int count)
int n = (count + 7) / 8;
switch (count & 0x07)
{
- case 0: do { *dest++ = color;
- case 7: *dest++ = color;
- case 6: *dest++ = color;
- case 5: *dest++ = color;
- case 4: *dest++ = color;
- case 3: *dest++ = color;
- case 2: *dest++ = color;
+ case 0: do { *dest++ = color; Q_FALLTHROUGH();
+ case 7: *dest++ = color; Q_FALLTHROUGH();
+ case 6: *dest++ = color; Q_FALLTHROUGH();
+ case 5: *dest++ = color; Q_FALLTHROUGH();
+ case 4: *dest++ = color; Q_FALLTHROUGH();
+ case 3: *dest++ = color; Q_FALLTHROUGH();
+ case 2: *dest++ = color; Q_FALLTHROUGH();
case 1: *dest++ = color;
} while (--n > 0);
}
@@ -6332,7 +6332,7 @@ inline void qt_memfill_template(quint16 *dest, quint16 value, int count)
{
if (count < 3) {
switch (count) {
- case 2: *dest++ = value;
+ case 2: *dest++ = value; Q_FALLTHROUGH();
case 1: *dest = value;
}
return;
diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp
index edce70d2d0..3013d2cf3e 100644
--- a/src/gui/painting/qdrawhelper_sse2.cpp
+++ b/src/gui/painting/qdrawhelper_sse2.cpp
@@ -237,11 +237,11 @@ void qt_memfill32(quint32 *dest, quint32 value, int count)
{
if (count < 7) {
switch (count) {
- case 6: *dest++ = value;
- case 5: *dest++ = value;
- case 4: *dest++ = value;
- case 3: *dest++ = value;
- case 2: *dest++ = value;
+ case 6: *dest++ = value; Q_FALLTHROUGH();
+ case 5: *dest++ = value; Q_FALLTHROUGH();
+ case 4: *dest++ = value; Q_FALLTHROUGH();
+ case 3: *dest++ = value; Q_FALLTHROUGH();
+ case 2: *dest++ = value; Q_FALLTHROUGH();
case 1: *dest = value;
}
return;
@@ -249,16 +249,16 @@ void qt_memfill32(quint32 *dest, quint32 value, int count)
const int align = (quintptr)(dest) & 0xf;
switch (align) {
- case 4: *dest++ = value; --count;
- case 8: *dest++ = value; --count;
+ case 4: *dest++ = value; --count; Q_FALLTHROUGH();
+ case 8: *dest++ = value; --count; Q_FALLTHROUGH();
case 12: *dest++ = value; --count;
}
const int rest = count & 0x3;
if (rest) {
switch (rest) {
- case 3: dest[count - 3] = value;
- case 2: dest[count - 2] = value;
+ case 3: dest[count - 3] = value; Q_FALLTHROUGH();
+ case 2: dest[count - 2] = value; Q_FALLTHROUGH();
case 1: dest[count - 1] = value;
}
}
@@ -277,8 +277,8 @@ void qt_memfill32(quint32 *dest, quint32 value, int count)
}
switch (count128 & 0x3) {
- case 3: _mm_stream_si128(dst128++, value128);
- case 2: _mm_stream_si128(dst128++, value128);
+ case 3: _mm_stream_si128(dst128++, value128); Q_FALLTHROUGH();
+ case 2: _mm_stream_si128(dst128++, value128); Q_FALLTHROUGH();
case 1: _mm_stream_si128(dst128++, value128);
}
}
@@ -318,7 +318,7 @@ void qt_memfill16(quint16 *dest, quint16 value, int count)
{
if (count < 3) {
switch (count) {
- case 2: *dest++ = value;
+ case 2: *dest++ = value; Q_FALLTHROUGH();
case 1: *dest = value;
}
return;
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 7b8bae1642..ca3e3ac362 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -2082,7 +2082,8 @@ int QPdfEnginePrivate::createShadingFunction(const QGradient *gradient, int from
for (int i = 0; i < gradientBounds.size(); ++i)
s << gradientBounds.at(i).function << "0 R ";
s << "]\n"
- ">>\n";
+ ">>\n"
+ "endobj\n";
write(data);
} else {
function = functions.at(0);