see also d1b462c213 and Manager::set_transient_for.
This fixes a bug on macOS: detach Editor, re-attach Editor.
After that `own_window()` is true. Showing the LAN dialog
showed the editor's hidden Window as its parent.
Previously (since bc91ea3c4) that would create a new session
even if -N was not specified.
This also uses Glib API to test for absolute path, rather
than a custom hack.
When adding a new route using "Front", its presentation info
order is set to 1, after the master-bus which has PI order 0.
(see Session::ensure_route_presentation_info_gap).
Mixer_UI::add_stripables, looks up the insert iterator:
"after the route with order 0", but since the master bus is
not in mixer's track-model, the insert-iterator is left "at end".
A later call to `sync_presentation_info_from_treeview` then updated
the new track's order key to be at the end.
Track creation is a slow. Importing multi-channel files
to new tracks can take a significant amount of time.
This prevents the GUI from being marked as unresponsive and
shows progress.
This reverts commit b935710b60.
legalize_for_universal_path() already santizes the path in a way that is
safe for all OS.
laaf_util_clean_filename() cannot be used with .c_str() because the
function modifies the char* passed to it.
This worked in some cases before C++11, and can work with non-const
std::string::data starting at C++17, but C++11 spec is quite clear:
> The program shall not modify any of the values stored in the
> character array; otherwise, the behavior is undefined.
Without this, loading a session from the command line bypasses any initialization of session_loaded
and after the changes in 0a72c1317 that leads to incorrect startup