[gtk+] a11y/entry: Fix text coords not adjusted for alloc
- From: Daniel Boles <dboles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] a11y/entry: Fix text coords not adjusted for alloc
- Date: Sun, 15 Oct 2017 11:39:22 +0000 (UTC)
commit 9af088693a5087a4d82fe14305d67444755b0fcc
Author: Samuel Thibault <samuel thibault ens-lyon org>
Date: Thu Oct 5 15:49:00 2017 +0000
a11y/entry: Fix text coords not adjusted for alloc
What is missing is the "allocation" part of x/y coordinates. Since
gtk_entry_realize doesn't call gtk_widget_set_window(priv->text_area),
the coordinates returned by gdk_window_get_origin don't include it.
This patch fixes this.
https://bugzilla.gnome.org/show_bug.cgi?id=784509
gtk/a11y/gtkentryaccessible.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gtk/a11y/gtkentryaccessible.c b/gtk/a11y/gtkentryaccessible.c
index abbaef8..9519b09 100644
--- a/gtk/a11y/gtkentryaccessible.c
+++ b/gtk/a11y/gtkentryaccessible.c
@@ -971,11 +971,14 @@ gtk_entry_accessible_get_character_extents (AtkText *text,
pango_layout_index_to_pos (gtk_entry_get_layout (entry), index, &char_rect);
pango_extents_to_pixels (&char_rect, NULL);
+ GtkAllocation allocation;
+ gtk_widget_get_allocation (widget, &allocation);
+
window = gtk_widget_get_window (widget);
gdk_window_get_origin (window, &x_window, &y_window);
- *x = x_window + x_layout + char_rect.x;
- *y = y_window + y_layout + char_rect.y;
+ *x = x_window + allocation.x + x_layout + char_rect.x;
+ *y = y_window + allocation.y + y_layout + char_rect.y;
*width = char_rect.width;
*height = char_rect.height;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]