From 08a9368adf649d82bedecf70b5801f45da91c8da Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 21 Oct 2019 14:58:59 +0200 Subject: [PATCH] Allow calling Dropdown::set_active from a signal handler This breaks a potential recursion when set_active() is called from activate_item(). See also 88fc22610 --- libs/widgets/ardour_dropdown.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/widgets/ardour_dropdown.cc b/libs/widgets/ardour_dropdown.cc index 822d1fdb26..573b808414 100644 --- a/libs/widgets/ardour_dropdown.cc +++ b/libs/widgets/ardour_dropdown.cc @@ -83,6 +83,11 @@ ArdourDropdown::on_button_press_event (GdkEventButton* ev) void ArdourDropdown::set_active (std::string const& text) { + const MenuItem* current_active = _menu.get_active(); + if (current_active && current_active->get_label() == text) { + set_text (text); + return; + } using namespace Menu_Helpers; const MenuList& items = _menu.items (); int c = 0;