From 0cedb68882f7ccf5c109d583a74ddc960d1c3b84 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 30 Mar 2020 03:53:09 +0200 Subject: Statusbar: fix double-click to reset x-run counter --- gtk2_ardour/ardour_ui_ed.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour/ardour_ui_ed.cc') diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index d1012d6a5e..d5c0e73da0 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -789,6 +789,7 @@ ARDOUR_UI::build_menu_bar () ev->signal_button_press_event().connect (sigc::mem_fun (_status_bar_visibility, &VisibilityGroup::button_press_event)); + ev_dsp->signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::xrun_button_press)); ev_dsp->signal_button_release_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::xrun_button_release)); ev_path->signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::path_button_press)); ev_audio->signal_button_press_event().connect (sigc::mem_fun (*this, &ARDOUR_UI::audio_button_press)); @@ -954,10 +955,23 @@ ARDOUR_UI::focus_on_clock () } } +bool +ARDOUR_UI::xrun_button_press (GdkEventButton* ev) +{ + if (ev->button != 1 || ev->type != GDK_2BUTTON_PRESS) { + return false; + } + if (_session) { + _session->reset_xrun_count (); + update_cpu_load (); + } + return true; +} + bool ARDOUR_UI::xrun_button_release (GdkEventButton* ev) { - if (ev->button != 1 || !(Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier) || ev->type == GDK_2BUTTON_PRESS)) { + if (ev->button != 1 || !Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) { return false; } -- cgit v1.2.3