[gtk+/gtk-3-18] textview: Ensure magnifier popover points within widget area
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-18] textview: Ensure magnifier popover points within widget area
- Date: Tue, 13 Oct 2015 00:15:58 +0000 (UTC)
commit c344d6dc175bb95654fda19dbc4f31f4256b6f70
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]