forked from AuroraMiddleware/gtk
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:
parent
d8e41e1308
commit
ab001d01c8
@ -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),
|
||||
|
Loading…
Reference in New Issue
Block a user