Date: Wednesday, May 9, 2012 @ 03:42:48 Author: jgc Revision: 158751 upgpkg: gtkhtml4 4.4.1-2
Fix selection behaviour in iframes, fixes issues with HTML mails in Evolution Added: gtkhtml4/trunk/fix-selection-behaviour-in-iframe.patch Modified: gtkhtml4/trunk/PKGBUILD -----------------------------------------+ PKGBUILD | 9 +++++-- fix-selection-behaviour-in-iframe.patch | 35 ++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-05-09 01:14:11 UTC (rev 158750) +++ PKGBUILD 2012-05-09 07:42:48 UTC (rev 158751) @@ -4,7 +4,7 @@ pkgname=gtkhtml4 _pkgbasename=gtkhtml pkgver=4.4.1 -pkgrel=1 +pkgrel=2 pkgdesc="A lightweight HTML renderer/editor widget for GTK3" arch=(i686 x86_64) license=('GPL') @@ -12,11 +12,14 @@ makedepends=('intltool') url="http://www.gnome.org" options=('!libtool') -source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz) -sha256sums=('2fb3286c5ab8b6349a694156f803e1162c5a234d30548eb0afdf82e139923236') +source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz + fix-selection-behaviour-in-iframe.patch) +sha256sums=('2fb3286c5ab8b6349a694156f803e1162c5a234d30548eb0afdf82e139923236' + 'ed1d9a4515f9137aaa94511f421b610af04091c56573ff9b74ba104a2ca1b207') build() { cd "$_pkgbasename-$pkgver" + patch -Np1 -i "${srcdir}/fix-selection-behaviour-in-iframe.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gtkhtml4 \ --localstatedir=/var --disable-static Added: fix-selection-behaviour-in-iframe.patch =================================================================== --- fix-selection-behaviour-in-iframe.patch (rev 0) +++ fix-selection-behaviour-in-iframe.patch 2012-05-09 07:42:48 UTC (rev 158751) @@ -0,0 +1,35 @@ +From 9ec36544203d4c1b98aa843c2c3ff0a4f725da68 Mon Sep 17 00:00:00 2001 +From: Sam Thursfield <sam.thursfi...@codethink.co.uk> +Date: Thu, 03 May 2012 19:04:20 +0000 +Subject: Bug 672582 - Fix selection behavior inside <iframe> + +Since kinetic scrolling was introduced in Gtk+, GtkScrolledWindow +has had its own GdkWindow. This means we need to use the allocation +of the GtkScrolledWindow rather than its child GtkHTML widget when we +want to translate pointer coordinates relative to the iframe, because +a widget's GtkAllocation is relative to the parent GdkWindow. + +(cherry picked from commit 7b7b37745d2f46914be314e4d7aef7a575529345) +--- +diff --git a/gtkhtml/gtkhtml.c b/gtkhtml/gtkhtml.c +index 697b16e..6284855 100644 +--- a/gtkhtml/gtkhtml.c ++++ b/gtkhtml/gtkhtml.c +@@ -1823,9 +1823,14 @@ shift_to_iframe_parent (GtkWidget *widget, + gint *y) + { + while (GTK_HTML (widget)->iframe_parent) { ++ GtkWidget *scrolled_window; + GtkAllocation allocation; + +- gtk_widget_get_allocation (widget, &allocation); ++ scrolled_window = gtk_widget_get_parent (widget); ++ ++ g_return_val_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window), widget); ++ ++ gtk_widget_get_allocation (scrolled_window, &allocation); + + if (x) + *x += allocation.x - GTK_HTML (widget)->engine->x_offset; +-- +cgit v0.9.0.2