diff --git a/ChangeLog b/ChangeLog index 643bd1d253..063c41f564 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Sep 3 23:18:17 2003 Kristian Rietveld + + * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, + use end_position - page_size instead of G_MAXINT, since + gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, + reported by Havoc Pennington). + Wed Sep 3 21:58:03 2003 Kristian Rietveld * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 643bd1d253..063c41f564 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Wed Sep 3 23:18:17 2003 Kristian Rietveld + + * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, + use end_position - page_size instead of G_MAXINT, since + gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, + reported by Havoc Pennington). + Wed Sep 3 21:58:03 2003 Kristian Rietveld * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 643bd1d253..063c41f564 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,10 @@ +Wed Sep 3 23:18:17 2003 Kristian Rietveld + + * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, + use end_position - page_size instead of G_MAXINT, since + gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, + reported by Havoc Pennington). + Wed Sep 3 21:58:03 2003 Kristian Rietveld * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 643bd1d253..063c41f564 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Wed Sep 3 23:18:17 2003 Kristian Rietveld + + * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, + use end_position - page_size instead of G_MAXINT, since + gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, + reported by Havoc Pennington). + Wed Sep 3 21:58:03 2003 Kristian Rietveld * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 643bd1d253..063c41f564 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Wed Sep 3 23:18:17 2003 Kristian Rietveld + + * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case, + use end_position - page_size instead of G_MAXINT, since + gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237, + reported by Havoc Pennington). + Wed Sep 3 21:58:03 2003 Kristian Rietveld * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL, diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 041c58fda5..b394a5557b 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -3192,6 +3192,8 @@ static void gtk_menu_real_move_scroll (GtkMenu *menu, GtkScrollType type) { + gint page_size = get_visible_size (menu); + gint end_position = get_menu_height (menu); GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); switch (type) @@ -3199,7 +3201,6 @@ gtk_menu_real_move_scroll (GtkMenu *menu, case GTK_SCROLL_PAGE_UP: case GTK_SCROLL_PAGE_DOWN: { - gint page_size = get_visible_size (menu); gint old_offset; gint new_offset; gint child_offset = 0; @@ -3225,7 +3226,7 @@ gtk_menu_real_move_scroll (GtkMenu *menu, old_offset = menu->scroll_offset; new_offset = menu->scroll_offset + step; - new_offset = CLAMP (new_offset, 0, get_menu_height (menu) - page_size); + new_offset = CLAMP (new_offset, 0, end_position - page_size); gtk_menu_scroll_to (menu, new_offset); @@ -3256,7 +3257,7 @@ gtk_menu_real_move_scroll (GtkMenu *menu, /* Ignore the enter event we might get if the pointer is on the menu */ menu_shell->ignore_enter = TRUE; - gtk_menu_scroll_to (menu, G_MAXINT); + gtk_menu_scroll_to (menu, end_position - page_size); _gtk_menu_shell_select_last (menu_shell, TRUE); break; default: