Make sure the widget gets updated even if the slider value doesn't change.

Original commit message from CVS:
Make sure the widget gets updated even if the slider value doesn't change.
This commit is contained in:
Wim Taymans 2004-07-16 11:05:53 +00:00
parent 15e3042d5f
commit 18d8d12679
2 changed files with 10 additions and 4 deletions

View file

@ -11,6 +11,7 @@ static GList *seekable_elements = NULL;
static GstElement *pipeline; static GstElement *pipeline;
static guint64 duration; static guint64 duration;
static GtkAdjustment *adjustment; static GtkAdjustment *adjustment;
static GtkWidget *hscale;
static gboolean stats = FALSE; static gboolean stats = FALSE;
static gboolean elem_seek = FALSE; static gboolean elem_seek = FALSE;
static gboolean verbose = FALSE; static gboolean verbose = FALSE;
@ -789,9 +790,12 @@ update_scale (gpointer data)
} }
query_rates (); query_rates ();
} }
if (position >= duration)
duration = position;
if (duration > 0) { if (duration > 0) {
gtk_adjustment_set_value (adjustment, position * 100.0 / duration); gtk_adjustment_set_value (adjustment, position * 100.0 / duration);
gtk_widget_queue_draw (hscale);
} }
return TRUE; return TRUE;
@ -945,8 +949,7 @@ print_usage (int argc, char **argv)
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
GtkWidget *window, *hbox, *vbox, GtkWidget *window, *hbox, *vbox, *play_button, *pause_button, *stop_button;
*play_button, *pause_button, *stop_button, *hscale;
struct poptOption options[] = { struct poptOption options[] = {
{"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0, {"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0,
"Show pad stats", NULL}, "Show pad stats", NULL},

View file

@ -11,6 +11,7 @@ static GList *seekable_elements = NULL;
static GstElement *pipeline; static GstElement *pipeline;
static guint64 duration; static guint64 duration;
static GtkAdjustment *adjustment; static GtkAdjustment *adjustment;
static GtkWidget *hscale;
static gboolean stats = FALSE; static gboolean stats = FALSE;
static gboolean elem_seek = FALSE; static gboolean elem_seek = FALSE;
static gboolean verbose = FALSE; static gboolean verbose = FALSE;
@ -789,9 +790,12 @@ update_scale (gpointer data)
} }
query_rates (); query_rates ();
} }
if (position >= duration)
duration = position;
if (duration > 0) { if (duration > 0) {
gtk_adjustment_set_value (adjustment, position * 100.0 / duration); gtk_adjustment_set_value (adjustment, position * 100.0 / duration);
gtk_widget_queue_draw (hscale);
} }
return TRUE; return TRUE;
@ -945,8 +949,7 @@ print_usage (int argc, char **argv)
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
GtkWidget *window, *hbox, *vbox, GtkWidget *window, *hbox, *vbox, *play_button, *pause_button, *stop_button;
*play_button, *pause_button, *stop_button, *hscale;
struct poptOption options[] = { struct poptOption options[] = {
{"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0, {"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0,
"Show pad stats", NULL}, "Show pad stats", NULL},