[webkitgtk3/f17] add patches to fix non SSE2 device crashes, flickering when drawing some widgets
Peter Robinson
pbrobinson at fedoraproject.org
Wed Apr 18 10:18:03 UTC 2012
commit 37728c3c026b26471a6d9c81c236f7eed88b79fe
Author: Peter Robinson <pbrobinson at gmail.com>
Date: Wed Apr 18 11:17:58 2012 +0100
add patches to fix non SSE2 device crashes, flickering when drawing some widgets
webkit-r113389.diff | 30 ++++++++++++++++++++++++++++++
webkit-r114385.diff | 40 ++++++++++++++++++++++++++++++++++++++++
webkitgtk3.spec | 12 +++++++++++-
3 files changed, 81 insertions(+), 1 deletions(-)
---
diff --git a/webkit-r113389.diff b/webkit-r113389.diff
new file mode 100644
index 0000000..ac7f728
--- /dev/null
+++ b/webkit-r113389.diff
@@ -0,0 +1,30 @@
+Index: /trunk/Source/JavaScriptCore/ChangeLog
+===================================================================
+--- /trunk/Source/JavaScriptCore/ChangeLog (revision 113365)
++++ /trunk/Source/JavaScriptCore/ChangeLog (revision 113389)
+@@ -1,2 +1,14 @@
++2012-04-05 Oliver Hunt <oliver at apple.com>
++
++ SIGILL in JavaScriptCore on a Geode processor
++ https://bugs.webkit.org/show_bug.cgi?id=82496
++
++ Reviewed by Gavin Barraclough.
++
++ Don't attempt to use the DFG when SSE2 is not available.
++
++ * dfg/DFGCapabilities.cpp:
++ (JSC::DFG::canCompileOpcodes):
++
+ 2012-04-05 Oliver Hunt <oliver at apple.com>
+
+Index: /trunk/Source/JavaScriptCore/dfg/DFGCapabilities.cpp
+===================================================================
+--- /trunk/Source/JavaScriptCore/dfg/DFGCapabilities.cpp (revision 98179)
++++ /trunk/Source/JavaScriptCore/dfg/DFGCapabilities.cpp (revision 113389)
+@@ -62,4 +62,6 @@
+ bool canCompileOpcodes(CodeBlock* codeBlock)
+ {
++ if (!MacroAssembler::supportsFloatingPoint())
++ return false;
+ return canHandleOpcodes<canCompileOpcode>(codeBlock);
+ }
diff --git a/webkit-r114385.diff b/webkit-r114385.diff
new file mode 100644
index 0000000..e85dafa
--- /dev/null
+++ b/webkit-r114385.diff
@@ -0,0 +1,40 @@
+Index: /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp
+===================================================================
+--- /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (revision 113147)
++++ /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (revision 114385)
+@@ -3623,5 +3623,4 @@
+
+ gtk_widget_set_can_focus(GTK_WIDGET(webView), TRUE);
+- gtk_widget_set_double_buffered(GTK_WIDGET(webView), FALSE);
+
+ priv->mainFrame = WEBKIT_WEB_FRAME(webkit_web_frame_new(webView));
+Index: /trunk/Source/WebKit/gtk/ChangeLog
+===================================================================
+--- /trunk/Source/WebKit/gtk/ChangeLog (revision 113533)
++++ /trunk/Source/WebKit/gtk/ChangeLog (revision 114385)
+@@ -1,2 +1,25 @@
++2012-04-17 Carlos Garnacho <carlos at lanedo.com>
++
++ [GTK] Enable back double buffering on WebKitWebView to fix flickering
++ https://bugs.webkit.org/show_bug.cgi?id=84149
++
++ Reviewed by Martin Robinson.
++
++ Despite having WebKitWebView its own backing buffer, calling
++ gtk_widget_set_double_buffered(...,FALSE) may still pose side
++ effects, such as ensuring that all drawing operations are
++ flushed to the X server before rendering a non-double buffered
++ widget, which may translate into flickering of the parent
++ GdkWindow before the WebKitWebView itself is rendered.
++
++ Enabling back double buffering solves this as all contents are
++ first composited together before getting to the front buffer,
++ but effectively acts as 3rd buffer. This is sort of unavoidable
++ unless GTK+ gains a "let me take ownership of the backing buffer
++ for this widget", which currently lacks.
++
++ * webkit/webkitwebview.cpp:
++ (webkit_web_view_init): Remove call to gtk_widget_set_double_buffered(..., FALSE)
++
+ 2012-04-06 Martin Robinson <mrobinson at igalia.com>
+
diff --git a/webkitgtk3.spec b/webkitgtk3.spec
index fa43a6f..b9a398d 100644
--- a/webkitgtk3.spec
+++ b/webkitgtk3.spec
@@ -7,7 +7,7 @@
Name: webkitgtk3
Version: 1.8.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: GTK+ Web content engine library
Group: Development/Libraries
@@ -18,6 +18,10 @@ Source0: http://www.webkitgtk.org/webkit-%{version}.tar.xz
Patch1: webkit-1.3.4-no-execmem.patch
Patch2: webkit-1.1.14-nspluginwrapper.patch
+# Fix crash when no SSE2: https://bugs.webkit.org/show_bug.cgi?id=82496
+Patch3: webkit-r113389.diff
+# Fix flickering when rendering some widgets: https://bugs.webkit.org/show_bug.cgi?id=84149
+Patch4: webkit-r114385.diff
BuildRequires: bison
BuildRequires: chrpath
@@ -82,6 +86,8 @@ This package contains developer documentation for %{name}.
# tbzatek - doesn't apply, is this fixed?
# %patch1 -p1 -b .no-execmem
%patch2 -p1 -b .nspluginwrapper
+%patch3 -p1 -b .fix-no-sse2
+%patch4 -p1 -b .fix-flicker
%build
%ifarch s390 %{arm} ppc
@@ -172,6 +178,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas
%changelog
+* Wed Apr 18 2012 Peter Robinson <pbrobinson at fedoraproject.org> - 1.8.0-3
+- Add upstream patch to fix crash when SSE2 isn't present
+- Add upstream patch to flickering when some widgets are drawn
+
* Mon Apr 09 2012 Kalev Lember <kalevlember at gmail.com> - 1.8.0-2
- Finish splitting out a -doc subpackage (#808917)
More information about the scm-commits
mailing list