diff --git a/ChangeLog b/ChangeLog index ca840dcfae..f342f8303b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-08-05 Michael Natterer + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): clamp the value + to [lower...upper-page_size] instead of only [lower...upper]. + + * README: add note about this change. + + While this fix is correct and should have been there forever, it + has the potential to break some corner cases, however these cases + would set page_size to a value != 0 which suggests they want it + honored. + 2008-08-05 Michael Natterer * tests/testiconview.c: don't use the deprecated diff --git a/README b/README index 5f43cc1b50..ccde59a76c 100644 --- a/README +++ b/README @@ -42,6 +42,13 @@ Release notes for 2.14 the GtkFileSystem interface is no longer available, nor the filechooser will load any GtkFileSystem implementation. +* gtk_adjustment_set_value() now correctly clamps the passed value to + [lower...upper-page_size] instead of just to [lower...upper]. + This has the potential to break some corner cases, however these + cases would set page_size to a value != 0 which suggests they want + it honored. All manual clamping in code calling set_value() can now + be safely removed. + Release notes for 2.12 ====================== diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c index 1fcbcba180..eb86a663a8 100644 --- a/gtk/gtkadjustment.c +++ b/gtk/gtkadjustment.c @@ -354,7 +354,7 @@ gtk_adjustment_set_value (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - value = CLAMP (value, adjustment->lower, adjustment->upper); + value = CLAMP (value, adjustment->lower, adjustment->upper - adjustment->page_size); if (value != adjustment->value) {