[evince] [libview] Make sure annot popups never show up outside the main window



commit 70a15c80d722d7974328550498bd2cfc3cc03302
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Sat Jul 10 17:50:34 2010 +0200

    [libview] Make sure annot popups never show up outside the main window
    
    Fixes bug #604125.

 libview/ev-view.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 1adf772..71470fb 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -2400,11 +2400,19 @@ ev_view_window_child_move (EvView            *view,
 			   gint               x,
 			   gint               y)
 {
+	GtkAllocation allocation;
+	gint          width, height;
+
+	gtk_widget_get_allocation (GTK_WIDGET (view), &allocation);
+	gtk_window_get_size (GTK_WINDOW (child->window), &width, &height);
+
 	child->x = x;
 	child->y = y;
 	gtk_window_move (GTK_WINDOW (child->window),
-			 MAX (child->parent_x, x),
-			 MAX (child->parent_y, y));
+			 CLAMP (x, child->parent_x,
+				child->parent_x + allocation.width - width),
+			 CLAMP (y, child->parent_y,
+				child->parent_y + allocation.height - height));
 }
 
 static void



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