void
ARDOUR_UI::toggle_mixer_window ()
{
- if (!editor || !mixer) {
- /* can this really happen?
- * keyboard shortcut during session close, maybe?
- */
-#ifndef NDEBUG
- /* one way to find out: */
- printf("ARDOUR_UI::toggle_mixer_window: Editor: %p Mixer: %p\n", editor, mixer);
- PBD::stacktrace (std::cerr, 20);
- assert (0);
-#endif
- return;
- }
+ /* thse windows are created in ARDOUR_UI::setup_windows()
+ * it should be impossible to get here with any of them being NULL
+ */
+ assert (editor && mixer && meterbridge);
bool show = false;
bool obscuring = false;
if (mixer->not_visible ()) {
show = true;
}
- else if (!editor->not_visible () && ARDOUR_UI_UTILS::windows_overlap (editor, mixer)) {
+ else if ( (!editor->not_visible () && ARDOUR_UI_UTILS::windows_overlap (editor, mixer))
+ || (!meterbridge->not_visible () && ARDOUR_UI_UTILS::windows_overlap (meterbridge, mixer))
+ ) {
obscuring = true;
}
- if (obscuring && editor->property_has_toplevel_focus()) {
+ if (obscuring && (editor->property_has_toplevel_focus() || meterbridge->property_has_toplevel_focus())) {
show = true;
}
void
ARDOUR_UI::toggle_meterbridge ()
{
- if (!editor || !meterbridge) {
- /* can this really happen?
- * keyboard shortcut during session close, maybe?
- */
-#ifndef NDEBUG
- /* one way to find out: */
- printf("ARDOUR_UI::toggle_meterbridge: Editor: %p MB: %p\n", editor, meterbridge);
- PBD::stacktrace (std::cerr, 20);
- assert (0);
-#endif
- return;
- }
+ assert (editor && mixer && meterbridge);
bool show = false;
bool obscuring = false;
if (meterbridge->not_visible ()) {
show = true;
}
- else if (!editor->not_visible() && ARDOUR_UI_UTILS::windows_overlap (editor, meterbridge)) {
+ else if ( (!editor->not_visible() && ARDOUR_UI_UTILS::windows_overlap (editor, meterbridge))
+ || (!mixer->not_visible () && ARDOUR_UI_UTILS::windows_overlap (meterbridge, mixer))
+ ) {
obscuring = true;
}
- if (obscuring && editor->property_has_toplevel_focus()) {
+ if (obscuring && (editor->property_has_toplevel_focus() || mixer->property_has_toplevel_focus())) {
show = true;
}