textview: Ensure magnifier popover points within widget area

Otherwise the popopver will be automatically unmapped in
_gtk_popover_update_child_visible() when the X axis (coming more
or less directly from events) goes outside the textview.
This commit is contained in:
Carlos Garnacho 2015-10-13 00:24:18 +02:00
parent d8e41e1308
commit ab001d01c8

View File

@ -5048,10 +5048,13 @@ gtk_text_view_show_magnifier (GtkTextView *text_view,
{
cairo_rectangle_int_t rect;
GtkTextViewPrivate *priv;
GtkAllocation allocation;
GtkRequisition req;
#define N_LINES 1
gtk_widget_get_allocation (GTK_WIDGET (text_view), &allocation);
priv = text_view->priv;
_gtk_text_view_ensure_magnifier (text_view);
@ -5070,6 +5073,7 @@ gtk_text_view_show_magnifier (GtkTextView *text_view,
_gtk_magnifier_set_coords (GTK_MAGNIFIER (priv->magnifier),
rect.x, rect.y + rect.height / 2);
rect.x = CLAMP (rect.x, 0, allocation.width);
rect.y += rect.height / 4;
rect.height -= rect.height / 4;
gtk_popover_set_pointing_to (GTK_POPOVER (priv->magnifier_popover),