diff options
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 20 | ||||
-rw-r--r-- | gtk2_ardour/engine_dialog.h | 1 |
2 files changed, 15 insertions, 6 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index a9b4dbd..4dc8067 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -53,6 +53,7 @@ #include "engine_dialog.h" #include "gui_thread.h" #include "ui_config.h" +#include "public_editor.h" #include "utils.h" #include "pbd/i18n.h" #include "splash.h" @@ -114,12 +115,6 @@ EngineControl::EngineControl () set_name (X_("AudioMIDISetup")); - if (UIConfiguration::instance().get_all_floating_windows_are_dialogs()) { - set_type_hint (Gdk::WINDOW_TYPE_HINT_DIALOG); - } else { - set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); - } - /* the backend combo is the one thing that is ALWAYS visible */ vector<const ARDOUR::AudioBackendInfo*> backends = ARDOUR::AudioEngine::instance()->available_backends(); @@ -432,6 +427,19 @@ EngineControl::on_show () start_stop_button.grab_focus(); } +void +EngineControl::on_map () +{ + if (!ARDOUR_UI::instance()->session_loaded && !PublicEditor::_instance) { + set_type_hint (Gdk::WINDOW_TYPE_HINT_NORMAL); + } else if (UIConfiguration::instance().get_all_floating_windows_are_dialogs()) { + set_type_hint (Gdk::WINDOW_TYPE_HINT_DIALOG); + } else { + set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); + } + ArdourDialog::on_map (); +} + bool EngineControl::try_autostart () { diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h index af13c3f..142e1fe 100644 --- a/gtk2_ardour/engine_dialog.h +++ b/gtk2_ardour/engine_dialog.h @@ -304,6 +304,7 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList { sigc::connection output_channels_connection; void on_show (); + void on_map (); void control_app_button_clicked (); void start_stop_button_clicked (); void update_devices_button_clicked (); |