From e36b1dc3fe688db3b6d6fc1720a3b25298abbf35 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 13 Nov 2012 07:34:06 -0600 Subject: [PATCH] Certain SVG content freezes QtWebKit (webkit#97258) --- qtwebkit-svg_infinite_loop.patch | 13 +++++++++++++ qtwebkit.spec | 11 ++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 qtwebkit-svg_infinite_loop.patch 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 2.2.2-3 +- Certain SVG content freezes QtWebKit (webkit#97258) + * Sat Jul 21 2012 Fedora Release Engineering - 2.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild