You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.3 KiB
31 lines
1.3 KiB
From 6b400e3147dcfd8cc3a393ace1bd118c93762e0c Mon Sep 17 00:00:00 2001 |
|
From: Eirik Aavitsland <eirik.aavitsland@qt.io> |
|
Date: Fri, 23 Jul 2021 15:53:56 +0200 |
|
Subject: [PATCH] Improve fix for avoiding huge number of tiny dashes |
|
MIME-Version: 1.0 |
|
Content-Type: text/plain; charset=UTF-8 |
|
Content-Transfer-Encoding: 8bit |
|
|
|
Some pathological cases were not caught by the previous fix. |
|
|
|
Fixes: QTBUG-95239 |
|
Pick-to: 6.2 6.1 5.15 |
|
Change-Id: I0337ee3923ff93ccb36c4d7b810a9c0667354cc5 |
|
Reviewed-by: Robert Löhning <robert.loehning@qt.io> |
|
--- |
|
src/gui/painting/qpaintengineex.cpp | 2 +- |
|
1 file changed, 1 insertion(+), 1 deletion(-) |
|
|
|
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp |
|
index 9fe51082..22e1b18f 100644 |
|
--- a/src/gui/painting/qpaintengineex.cpp |
|
+++ b/src/gui/painting/qpaintengineex.cpp |
|
@@ -426,7 +426,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &inPen) |
|
patternLength *= pw; |
|
if (qFuzzyIsNull(patternLength)) { |
|
pen.setStyle(Qt::NoPen); |
|
- } else if (extent / patternLength > 10000) { |
|
+ } else if (qFuzzyIsNull(extent) || extent / patternLength > 10000) { |
|
// approximate stream of tiny dashes with semi-transparent solid line |
|
pen.setStyle(Qt::SolidLine); |
|
QColor color(pen.color());
|
|
|