[gtk+] textview: Ensure magnifier popover points within widget area



commit ab001d01c8274013e66d29a6e58275d819845c3c
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Oct 13 00:24:18 2015 +0200

    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.

 gtk/gtktextview.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 787e6e4..e09fe90 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -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),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]