summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-04-11 16:57:34 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-04-11 17:04:02 +0200
commitc51d26b6ec7869641441d01597c3e7acc643f93f (patch)
tree69ee279e12be73ae385e087c9d89ce7bc8480446 /src/gui
parent0646d1131b4bc65cdd9af29f4ce00fdd2398a3df (diff)
parent967c18d29694fdeab858691a80cb8400fd02ec33 (diff)
Merge branch 'release' into old/5.0old/5.0
Conflicts: tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Id635e0c27df5d8e3852d12bd6433c6463bf4eadc
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/painting/qcosmeticstroker.cpp12
-rw-r--r--src/gui/painting/qdrawhelper.cpp15
2 files changed, 16 insertions, 11 deletions
diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp
index 7f53bec52f..0f3cde3efd 100644
--- a/src/gui/painting/qcosmeticstroker.cpp
+++ b/src/gui/painting/qcosmeticstroker.cpp
@@ -290,14 +290,14 @@ void QCosmeticStroker::setup()
ppl = buffer->bytesPerLine()>>2;
}
- // dashes are sensitive to clips, so we need to clip consistently when painting to the same device
- QRect clipRect = strokeSelection & Dashed ? deviceRect : clip;
+ // line drawing produces different results with different clips, so
+ // we need to clip consistently when painting to the same device
// setup FP clip bounds
- xmin = clipRect.left() - 1;
- xmax = clipRect.right() + 2;
- ymin = clipRect.top() - 1;
- ymax = clipRect.bottom() + 2;
+ xmin = deviceRect.left() - 1;
+ xmax = deviceRect.right() + 2;
+ ymin = deviceRect.top() - 1;
+ ymax = deviceRect.bottom() + 2;
lastPixel.x = -1;
}
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 0f77ae6d86..61a6f2a5f9 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -40,12 +40,17 @@
****************************************************************************/
#if defined(__OPTIMIZE__) && !defined(__INTEL_COMPILER) && defined(__GNUC__) \
- && (__GNUC__ * 100 + __GNUC_MINOR__ >= 404)
+ && (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ >= 440)
// GCC 4.4 supports #pragma GCC optimize and #pragma GCC target
-# pragma GCC optimize "O3"
-# if defined(__i386__) && defined(__SSE2__) && !defined(__SSE2_MATH__)
-# pragma GCC target "fpmath=sse"
-# endif
+
+# if (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ < 473)
+// From GCC 4.7.3 onwards, GCC optimize can result in gcc bailing out with OOM
+# pragma GCC optimize "O3"
+# endif
+
+# if defined(__i386__) && defined(__SSE2__) && !defined(__SSE2_MATH__)
+# pragma GCC target "fpmath=sse"
+# endif
#endif
#include <qstylehints.h>