aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-06-04 15:49:02 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-06-04 15:49:02 +0200
commit80089ebd8b1d276b48950b34957ee9e7e3eee2a8 (patch)
tree85f656290f5bff09964fa89ce865e98c5e960759 /lib
parent9c8e7a1329b60111df869941f4f3a8af579c4275 (diff)
downloadgtk-vlc-player-80089ebd8b1d276b48950b34957ee9e7e3eee2a8.tar.gz
fix transcript scrolling (via wheels/buttons) at the end of the transcript
Diffstat (limited to 'lib')
-rw-r--r--lib/gtk-experiment-widgets/gtk-experiment-transcript.c12
1 files 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;
}