summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dependents.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui_dependents.cc')
-rw-r--r--gtk2_ardour/ardour_ui_dependents.cc36
1 files changed, 16 insertions, 20 deletions
diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc
index c55942b4bd..2b0e0df215 100644
--- a/gtk2_ardour/ardour_ui_dependents.cc
+++ b/gtk2_ardour/ardour_ui_dependents.cc
@@ -133,29 +133,25 @@ ARDOUR_UI::toggle_mixer_window ()
void
ARDOUR_UI::toggle_mixer_on_top ()
{
- Glib::RefPtr<Action> act = ActionManager::get_action (X_("Common"), X_("toggle-mixer-on-top"));
- if (!act) {
- return;
- }
-
- Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
-
- if (tact->get_active()) {
-
- /* Toggle the mixer to `visible' if required */
- act = ActionManager::get_action (X_("Common"), X_("toggle-mixer"));
- if (act) {
- tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
+ /* Only called if the editor window received the shortcut key or if selected
+ from the editor window menu, so the mixer is definitely not on top, and
+ we can unconditionally make it so here.
+
+ XXX this might not work so well where there is a global menu bar, e.g.
+ on OS X.
+ */
+
+ /* Toggle the mixer to `visible' if required */
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Common"), X_("toggle-mixer"));
+ if (act) {
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
- if (!tact->get_active()) {
- tact->set_active ();
- }
+ if (!tact->get_active()) {
+ tact->set_active (true);
}
-
- goto_mixer_window ();
- } else {
- goto_editor_window ();
}
+
+ goto_mixer_window ();
}
/** The main editor window has been closed */