diff options
Diffstat (limited to 'examples/seeking')
-rw-r--r-- | examples/seeking/seek.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/examples/seeking/seek.c b/examples/seeking/seek.c index a1d29b10..732c2930 100644 --- a/examples/seeking/seek.c +++ b/examples/seeking/seek.c @@ -899,8 +899,11 @@ start_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data) gst_element_set_state (pipeline, GST_STATE_PAUSED); gtk_timeout_remove (update_id); - changed_id = gtk_signal_connect (GTK_OBJECT (hscale), - "value_changed", G_CALLBACK (do_seek), pipeline); + if (changed_id == 0) { + changed_id = gtk_signal_connect (GTK_OBJECT (hscale), + "value_changed", G_CALLBACK (do_seek), pipeline); + g_print ("connect %lu\n", changed_id); + } return FALSE; } @@ -908,7 +911,9 @@ start_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data) static gboolean stop_seek (GtkWidget * widget, gpointer user_data) { + g_print ("disconnect %lu\n", changed_id); g_signal_handler_disconnect (GTK_OBJECT (hscale), changed_id); + changed_id = 0; gst_element_set_state (pipeline, GST_STATE_PLAYING); update_id = |