--- audacious-plugins-3.2.4/src/gtkui/ui_gtk.c 2012-06-30 00:05:33.000000000 +0000 +++ audacious-plugins-3.2.4-sane/src/gtkui/ui_gtk.c 2012-10-04 15:03:44.324883734 +0000 @@ -297,12 +297,23 @@ static gboolean ui_slider_button_press_cb(GtkWidget * widget, GdkEventButton * event, gpointer user_data) { slider_is_moving = TRUE; + + /* HACK: clicking with the left mouse button moves the slider + to the location of the click. */ + if (event->button == 1) + event->button = 2; + return FALSE; } static gboolean ui_slider_button_release_cb(GtkWidget * widget, GdkEventButton * event, gpointer user_data) { + /* HACK: see ui_slider_button_press_cb */ + if (event->button == 1) + event->button = 2; + slider_is_moving = FALSE; + return FALSE; } @@ -652,6 +663,7 @@ static void ui_hooks_associate(void) { hook_associate ("title change", (HookFunction) title_change_cb, NULL); + hook_associate ("playback seek", (HookFunction) time_counter_cb, NULL); hook_associate ("playback begin", (HookFunction) ui_playback_begin, NULL); hook_associate ("playback ready", (HookFunction) ui_playback_ready, NULL); hook_associate ("playback pause", (HookFunction) pause_cb, NULL); @@ -669,6 +681,7 @@ static void ui_hooks_disassociate(void) { hook_dissociate ("title change", (HookFunction) title_change_cb); + hook_dissociate ("playback seek", (HookFunction) time_counter_cb); hook_dissociate ("playback begin", (HookFunction) ui_playback_begin); hook_dissociate ("playback ready", (HookFunction) ui_playback_ready); hook_dissociate ("playback pause", (HookFunction) pause_cb);