[gtkhtml] Bug 672582 - Fix selection behavior inside <iframe>
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkhtml] Bug 672582 - Fix selection behavior inside <iframe>
- Date: Thu, 3 May 2012 19:06:22 +0000 (UTC)
commit 7b7b37745d2f46914be314e4d7aef7a575529345
Author: Sam Thursfield <sam thursfield codethink co uk>
Date: Thu May 3 15:04:20 2012 -0400
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.
gtkhtml/gtkhtml.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
---
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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]