update Window > Mixer accordingly
This commit is contained in:
parent
9287a9ba8e
commit
1a3df69a17
|
@ -379,6 +379,7 @@ ARDOUR_UI::goto_mixer_window ()
|
||||||
void
|
void
|
||||||
ARDOUR_UI::toggle_mixer_window ()
|
ARDOUR_UI::toggle_mixer_window ()
|
||||||
{
|
{
|
||||||
|
<<<<<<< HEAD
|
||||||
/* thse windows are created in ARDOUR_UI::setup_windows()
|
/* thse windows are created in ARDOUR_UI::setup_windows()
|
||||||
* it should be impossible to get here with any of them being NULL
|
* it should be impossible to get here with any of them being NULL
|
||||||
*/
|
*/
|
||||||
|
@ -400,6 +401,59 @@ ARDOUR_UI::toggle_mixer_window ()
|
||||||
show = true;
|
show = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=======
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool show = false;
|
||||||
|
bool obscuring = false;
|
||||||
|
|
||||||
|
if (mixer->not_visible ()) {
|
||||||
|
show = true;
|
||||||
|
}
|
||||||
|
else if (editor->get_screen() == mixer->get_screen()) {
|
||||||
|
gint ex, ey, ew, eh;
|
||||||
|
gint mx, my, mw, mh;
|
||||||
|
|
||||||
|
editor->get_position (ex, ey);
|
||||||
|
editor->get_size (ew, eh);
|
||||||
|
mixer->get_position (mx, my);
|
||||||
|
mixer->get_size (mw, mh);
|
||||||
|
|
||||||
|
GdkRectangle e;
|
||||||
|
GdkRectangle m;
|
||||||
|
GdkRectangle r;
|
||||||
|
|
||||||
|
e.x = ex;
|
||||||
|
e.y = ey;
|
||||||
|
e.width = ew;
|
||||||
|
e.height = eh;
|
||||||
|
|
||||||
|
m.x = mx;
|
||||||
|
m.y = my;
|
||||||
|
m.width = mw;
|
||||||
|
m.height = mh;
|
||||||
|
|
||||||
|
if (gdk_rectangle_intersect (&e, &m, &r)) {
|
||||||
|
obscuring = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (obscuring && editor->property_has_toplevel_focus()) {
|
||||||
|
show = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> update Window > Mixer accordingly
|
||||||
if (show) {
|
if (show) {
|
||||||
goto_mixer_window ();
|
goto_mixer_window ();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user