From: Carlos Garcia Campos Date: Sat, 10 Jul 2010 15:50:34 +0000 (+0200) Subject: [libview] Make sure annot popups never show up outside the main window X-Git-Tag: EVINCE_2_31_5~20 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=70a15c80d722d7974328550498bd2cfc3cc03302;p=evince.git [libview] Make sure annot popups never show up outside the main window Fixes bug #604125. --- diff --git a/libview/ev-view.c b/libview/ev-view.c index 1adf772c..71470fbe 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