From 80089ebd8b1d276b48950b34957ee9e7e3eee2a8 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 4 Jun 2012 15:49:02 +0200 Subject: fix transcript scrolling (via wheels/buttons) at the end of the transcript --- lib/gtk-experiment-widgets/gtk-experiment-transcript.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/gtk-experiment-widgets/gtk-experiment-transcript.c b/lib/gtk-experiment-widgets/gtk-experiment-transcript.c index e33a1a0..610f72c 100644 --- a/lib/gtk-experiment-widgets/gtk-experiment-transcript.c +++ b/lib/gtk-experiment-widgets/gtk-experiment-transcript.c @@ -422,15 +422,17 @@ static gboolean scrolled(GtkWidget *widget, GdkEventScroll *event) { GtkExperimentTranscript *trans = GTK_EXPERIMENT_TRANSCRIPT(widget); - GtkAdjustment *adj; - gdouble value; + GtkAdjustment *adj; + gdouble value, real_upper; if (trans->priv->time_adjustment == NULL) return FALSE; - adj = GTK_ADJUSTMENT(trans->priv->time_adjustment); + adj = GTK_ADJUSTMENT(trans->priv->time_adjustment); value = gtk_adjustment_get_value(adj); + real_upper = gtk_adjustment_get_upper(adj) - + gtk_adjustment_get_page_size(adj); switch (event->direction) { case GDK_SCROLL_UP: @@ -442,9 +444,7 @@ scrolled(GtkWidget *widget, GdkEventScroll *event) break; } - if (value <= gtk_adjustment_get_upper(adj) - - gtk_adjustment_get_page_size(adj)) - gtk_adjustment_set_value(adj, value); + gtk_adjustment_set_value(adj, value > real_upper ? real_upper : value); return TRUE; } -- cgit v1.2.3