[arch-commits] Commit in wxgtk/trunk (PKGBUILD wxgtk-webkit-infinite-loop.patch)

Antonio Rojas arojas at archlinux.org
Sun Jan 7 22:47:48 UTC 2018


    Date: Sunday, January 7, 2018 @ 22:47:41
  Author: arojas
Revision: 314256

Fix infinite loop in webkit (FS#54630)

Added:
  wxgtk/trunk/wxgtk-webkit-infinite-loop.patch
Modified:
  wxgtk/trunk/PKGBUILD

----------------------------------+
 PKGBUILD                         |   18 +++++++++++-------
 wxgtk-webkit-infinite-loop.patch |   36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-01-07 21:20:59 UTC (rev 314255)
+++ PKGBUILD	2018-01-07 22:47:41 UTC (rev 314256)
@@ -4,7 +4,7 @@
 pkgbase=wxgtk
 pkgname=(wxgtk2 wxgtk3 wxgtk-common)
 pkgver=3.0.3.1
-pkgrel=9
+pkgrel=10
 arch=('x86_64')
 url="https://wxwidgets.org"
 license=('custom:wxWindows')
@@ -13,12 +13,14 @@
 source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2
         make-abicheck-non-fatal.patch wxgtk-webkit2gtk.patch::"https://github.com/wxWidgets/wxWidgets/commit/ec6e54bc.patch"
         wxgtk2-fix-webview.patch::"https://github.com/wxWidgets/wxWidgets/commit/fd247cca.patch"
-        wxgtk-filezilla-assert.patch::"https://github.com/wxWidgets/wxWidgets/commit/ce1dce11.patch")
-sha1sums=('ea785822d0f1c3290707bda6da570e596b3ec85a'
-          'dfe38650c655395b90bf082b5734c4093508bfa3'
-          'c9d013552b3078d7a9700df897333c2960207b0f'
-          '550c368a68eec8b6c32c61da289df76e4dd5a798'
-          '1da8af91ef6c590da9c43dd115f52d605730f16a')
+        wxgtk-filezilla-assert.patch::"https://github.com/wxWidgets/wxWidgets/commit/ce1dce11.patch"
+        wxgtk-webkit-infinite-loop.patch)
+sha256sums=('3164ad6bc5f61c48d2185b39065ddbe44283eb834a5f62beb13f1d0923e366e4'
+            '46a1bb97d69163547da13d5e23a4c73e68de27ee601da5d2fb5bc5c417931453'
+            '5cc7804696d94f88470d99899d628f1873a5ecff359a5e6fcf67318f3dcfd3ee'
+            'c441ae48381b1d92522e6f125d733d5710105065099327c00fa35f50e146bdf4'
+            '168deb2e76e21bcd46c3a1efd86c0f3e1354e9511cf12a9dc54b7dc82c0e3d63'
+            'e983e95bc321544e31ba34220665a463c99b28d7645e28c1192cf6da1978cfb5')
 
 prepare() {
   cd wxWidgets-${pkgver}
@@ -34,6 +36,8 @@
   patch -p1 -i ../wxgtk2-fix-webview.patch
   # fix assert in FileZilla
   patch -p1 -i ../wxgtk-filezilla-assert.patch
+  # fix infinite loop in webkit
+  patch -p1 -i ../wxgtk-webkit-infinite-loop.patch
 
   cd ..
   cp -r wxWidgets-${pkgver} wxWidgets-${pkgver}-gtk3

Added: wxgtk-webkit-infinite-loop.patch
===================================================================
--- wxgtk-webkit-infinite-loop.patch	                        (rev 0)
+++ wxgtk-webkit-infinite-loop.patch	2018-01-07 22:47:41 UTC (rev 314256)
@@ -0,0 +1,36 @@
+From 572fe37898f8d4f8664849ec76483dd63ea13a13 Mon Sep 17 00:00:00 2001
+From: Paul Cornett <paulcor at users.noreply.github.com>
+Date: Sat, 6 Jan 2018 11:07:11 -0800
+Subject: [PATCH] Avoid calling default "key-press-event" handler
+
+We have already done everything it does, and doing it again seems to
+cause an infinite loop with WebKitGTK. See #17932
+---
+ src/gtk/toplevel.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/gtk/toplevel.cpp b/src/gtk/toplevel.cpp
+index f63fdd3e463..ae825d40396 100644
+--- a/src/gtk/toplevel.cpp
++++ b/src/gtk/toplevel.cpp
+@@ -227,15 +227,15 @@ wxgtk_tlw_key_press_event(GtkWidget *widget, GdkEventKey *event)
+     // GTK+ gtk_window_key_press_event() handler.
+ 
+     if ( gtk_window_propagate_key_event(window, event) )
+-        return TRUE;
++        return true;
+ 
+     if ( gtk_window_activate_key(window, event) )
+-        return TRUE;
++        return true;
+ 
+-    if (GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event))
+-        return TRUE;
++    GTK_WIDGET_GET_CLASS(widget)->key_press_event(widget, event);
+ 
+-    return FALSE;
++    // Avoid calling the default handler, we have already done everything it does
++    return true;
+ }
+ }
+ 



More information about the arch-commits mailing list