summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc27
1 files changed, 3 insertions, 24 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 49424c78b6..f3483769d8 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -4875,31 +4875,10 @@ void
ARDOUR_UI::toggle_auto_return_state (AutoReturnTarget t)
{
AutoReturnTarget art = Config->get_auto_return_target_list ();
- CheckMenuItem* check_menu_item = 0;
-
- switch (t) {
- case LastLocate:
- check_menu_item = auto_return_last_locate;
- break;
- case Loop:
- check_menu_item = auto_return_loop;
- break;
- case RangeSelectionStart:
- check_menu_item = auto_return_range_selection;
- break;
- case RegionSelectionStart:
- check_menu_item = auto_return_region_selection;
- break;
- }
-
- if (!check_menu_item) {
- return;
- }
-
- if (check_menu_item->get_active()) {
- Config->set_auto_return_target_list (AutoReturnTarget (art | t));
- } else {
+ if (art & t) {
Config->set_auto_return_target_list (AutoReturnTarget (art & ~t));
+ } else {
+ Config->set_auto_return_target_list (AutoReturnTarget (art | t));
}
}