forked from AuroraMiddleware/gtk
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
This commit is contained in:
parent
8db9776875
commit
a2d78a2de7
@ -973,11 +973,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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user