This addresses an issue with gnome and mate, where
dialog windows do not have a window close button,
and expect direct interaction with the user "OK/Cancel",
"Yes/No", etc.
Don't explicitly `show()` the splash when a message arrives.
On macOS and Windows the splash is not z-axis re-stacked but
hidden. Calling show() makes it visible again.
This fixes various issues, esp on macOS and Windows where
the window is only hidden, not re-stacked:
* plugin scan dialog hides the splash, but
the plugin-manager emits BootMessage
(this worked mostly because gtk event loop didn't
have time to catch up)
* More than one dialog can pop back/front the splash,
e.g. scripted session-setup or error messages when
loading recent sessions.
Copyright-holder and year information is extracted from git log.
git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
There are two cases:
(A) Proxy is created first, dialog is created later on demand
(B) Dialog is created and directly registers its window as proxy
In (B) the dialog is usually on the stack and destroyed when the
ArdourDialog instances leaves scope. In that case ~ArdourDialog()
is called and the proxy remained.
Destroying the proxy does destroy the registered window in ~WindowProxy()
If ArdourDialog's d'tor itself deletes the proxy it would recurse into
itself. Existing APIs e.g. drop_window() likewise delete the window and
cannot be safely called from ~ArdourDialog.
During ARDOUR_UI::finish(), after destroying various instances:
close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle()
The event loop recurses and may execute a previously scheduled
Editor::idle_visual_changer()
A Dialog Window may not be tightly scoped, and may be around
for a while (query settings from the dialog instance). The destructor
may only be called later.
Make IOSelector an ArdourWindow.
It's debatable whether this one should actually be a window, cancel buttons
might actually be useful on the IO selector.
git-svn-id: svn://localhost/ardour2/branches/3.0@10691 d708f5d6-7413-0410-9779-e7cbd77b26cf
Remove undefined static ArdourDialog::close_all_current_dialogs.
Remove pointless ArdourDialog::on_key_press_event.
Defer to Gtk::Dialog::on_[enter|leave]_notify_event. I'm not sure exactly
what these currently do, but not calling it doesn't seem like a good idea.
Trim include tree ever so slightly.
git-svn-id: svn://localhost/ardour2/branches/3.0@10690 d708f5d6-7413-0410-9779-e7cbd77b26cf
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent...
git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf