diff --git a/gtk2_ardour/waves_dialog.cc b/gtk2_ardour/waves_dialog.cc index d90caa2e87..4b3e363336 100644 --- a/gtk2_ardour/waves_dialog.cc +++ b/gtk2_ardour/waves_dialog.cc @@ -140,8 +140,7 @@ WavesDialog::on_key_press_event (GdkEventKey* ev) { case GDK_Return: case GDK_KP_Enter: - hide (); - response (WavesDialog::RESPONSE_DEFAULT); + on_default_response(); return true; case GDK_Escape: hide (); @@ -167,9 +166,16 @@ WavesDialog::on_delete_event (GdkEventAny*) return false; } +void +WavesDialog::on_default_response () +{ + hide (); + response (WavesDialog::RESPONSE_DEFAULT); +} + void WavesDialog::on_response(int response_id) { - Dialog::on_response (response_id); + Gtk::Dialog::on_response (response_id); hide (); } diff --git a/gtk2_ardour/waves_dialog.h b/gtk2_ardour/waves_dialog.h index d09767b36b..3d540b6f21 100644 --- a/gtk2_ardour/waves_dialog.h +++ b/gtk2_ardour/waves_dialog.h @@ -59,7 +59,8 @@ class WavesDialog : public Gtk::Dialog, public ARDOUR::SessionHandlePtr, public }; protected: - void on_response(int response_id); + virtual void on_default_response (); + void on_response (int response_id); private: