diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-11-19 13:12:06 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-11-26 18:22:22 +0200 |
commit | e9768e934fdeaf31aaae779e42ff493a2e781179 (patch) | |
tree | 53b416abd30d637bec23b489ce32e7b0776c377b | |
parent | c927eeb9eeed1b3a9ccd9a232df62fb3873ef267 (diff) |
move creation of UIConfiguration object to precede creation of ArdourUI.
This is pretty kludgy but we need the UIConfiguration object (or any color management object) to be the first to connect to
the ColorsChanged signal.
Might be better to make the UIConfiguration object a delegate for the ThemeManager.
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 8 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/main.cc | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 6f038dc27b..15b57988b2 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -233,8 +233,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) theArdourUI = this; } - ui_config = new UIConfiguration(); - ui_config->ParameterChanged.connect (sigc::mem_fun (*this, &ARDOUR_UI::parameter_changed)); boost::function<void (string)> pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1)); ui_config->map_parameters (pc); @@ -399,6 +397,12 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) attach_to_engine (); } +void +ARDOUR_UI::create_configuration () +{ + ui_config = new UIConfiguration(); +} + GlobalPortMatrixWindow* ARDOUR_UI::create_global_port_matrix (ARDOUR::DataType type) { diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 51bc6dd117..3a6f1b501e 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -168,6 +168,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr static ARDOUR_UI *instance () { return theArdourUI; } static UIConfiguration *config () { return ui_config; } + static void create_configuration(); PublicEditor& the_editor(){return *editor;} Mixer_UI* the_mixer() { return mixer; } diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index 0c6fbce69f..d6aed1dd2d 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -277,6 +277,7 @@ int main (int argc, char *argv[]) #endif try { + ARDOUR_UI::create_configuration (); ui = new ARDOUR_UI (&argc, &argv, localedir); } catch (failed_constructor& err) { error << string_compose (_("could not create %1 GUI"), PROGRAM_NAME) << endmsg; |