[qtwebkit] Certain SVG content freezes QtWebKit (webkit#97258)

Rex Dieter rdieter at fedoraproject.org
Tue Nov 13 13:34:00 UTC 2012


commit e36b1dc3fe688db3b6d6fc1720a3b25298abbf35
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Tue Nov 13 07:34:06 2012 -0600

    Certain SVG content freezes QtWebKit (webkit#97258)

 qtwebkit-svg_infinite_loop.patch |   13 +++++++++++++
 qtwebkit.spec                    |   11 ++++++++++-
 2 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/qtwebkit-svg_infinite_loop.patch b/qtwebkit-svg_infinite_loop.patch
new file mode 100644
index 0000000..5e321f3
--- /dev/null
+++ b/qtwebkit-svg_infinite_loop.patch
@@ -0,0 +1,13 @@
+diff -up qtwebkit-2.2.2-source/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp.svn_infinite_loop qtwebkit-2.2.2-source/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+--- qtwebkit-2.2.2-source/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp.svn_infinite_loop	2012-05-22 09:30:37.000000000 -0500
++++ qtwebkit-2.2.2-source/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp	2012-11-13 07:21:15.462272336 -0600
+@@ -1057,6 +1057,9 @@ void GraphicsContext::setLineDash(const
+             count *= 2;
+ 
+         float penWidth = narrowPrecisionToFloat(double(pen.widthF()));
++        if (penWidth <= 0.f)
++            penWidth = 1.f;
++
+         for (unsigned i = 0; i < count; i++)
+             pattern.append(dashes[i % dashLength] / penWidth);
+ 
diff --git a/qtwebkit.spec b/qtwebkit.spec
index 8a98962..e6ef335 100644
--- a/qtwebkit.spec
+++ b/qtwebkit.spec
@@ -1,7 +1,7 @@
 
 Name: qtwebkit
 Version: 2.2.2
-Release: 2%{?dist}
+Release: 3%{?dist}
 Summary: Qt WebKit bindings
 Group: System Environment/Libraries
 License: LGPLv2 with exceptions or GPLv3 with exceptions
@@ -41,6 +41,11 @@ Patch6: qtwebkit-2.2.x-glib231-wk#69840.patch
 # gcc doesn't support flag -fuse-ld=gold
 Patch7: webkit-qtwebkit-ld.gold.patch
 
+# svg infinite loop 
+# https://projects.kde.org/news/177
+# https://bugs.webkit.org/show_bug.cgi?id=97258
+Patch8: qtwebkit-svg_infinite_loop.patch
+
 BuildRequires: chrpath
 BuildRequires: libicu-devel
 BuildRequires: libjpeg-devel
@@ -93,6 +98,7 @@ Provides:  qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
 #patch5 -p1 -b .qt46
 %patch6 -p1 -b .glib231
 %patch7 -p1 -b .ld.gold
+%patch8 -p1 -b .svn_infinite_loop
 
 
 %build 
@@ -145,6 +151,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Tue Nov 13 2012 Rex Dieter <rdieter at fedoraproject.org> 2.2.2-3
+- Certain SVG content freezes QtWebKit (webkit#97258)
+
 * Sat Jul 21 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.2.2-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 


More information about the scm-commits mailing list