mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
Special case tansient-parent windows on macOS
macOS has its own z-axis stacking (see Manager::set_transient_for) for dialog and utility windows of a single application. There only case to set a dedicated transient parent is to keep the child window on top of a dialog. Valid use-cases are e.g. Plugin Preset Name entry on top of a PluginWindow Export Format Settings on top of the Export Dialog Alternatively one would need to patch gtk to handle [NSView shouldDelayWindowOrderingForEvent] and explicitly reorder siblings of a common parent window. This fixes an issue that plugin windows cannot be re-stacked but were previously always stacked in the order they were opened.
This commit is contained in:
parent
f107c063e7
commit
d1b462c213
5 changed files with 10 additions and 6 deletions
|
|
@ -4450,8 +4450,7 @@ ProcessorBox::edit_processor (boost::shared_ptr<Processor> processor)
|
|||
proxy->show_the_right_window ();
|
||||
|
||||
Gtk::Window* tlw = dynamic_cast<Gtk::Window*> (get_toplevel ());
|
||||
assert (tlw && proxy->get (false));
|
||||
proxy->get ()->set_transient_for (*tlw);
|
||||
proxy->set_transient_for (*tlw);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4475,8 +4474,7 @@ ProcessorBox::generic_edit_processor (boost::shared_ptr<Processor> processor)
|
|||
proxy->show_the_right_window ();
|
||||
|
||||
Gtk::Window* tlw = dynamic_cast<Gtk::Window*> (get_toplevel ());
|
||||
assert (tlw && proxy->get (false));
|
||||
proxy->get ()->set_transient_for (*tlw);
|
||||
proxy->set_transient_for (*tlw);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4492,7 +4490,7 @@ ProcessorBox::manage_pins (boost::shared_ptr<Processor> processor)
|
|||
|
||||
Gtk::Window* tlw = dynamic_cast<Gtk::Window*> (get_toplevel ());
|
||||
assert (tlw);
|
||||
proxy->get ()->set_transient_for (*tlw);
|
||||
proxy->set_transient_for (*tlw);
|
||||
|
||||
proxy->present();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue