summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-12-07 13:12:21 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-12-07 13:12:48 -0500
commit8f4ab08e2048f63719f82bc0535ec02707337b7b (patch)
tree071c8fc03007c1b5583c0259177c8d24cc720d50
parentd586289be5137a7740bc8e3103a7f68c1ad8dd06 (diff)
revert UIConfiguration back to a normal member of ARDOUR_UI
-rw-r--r--gtk2_ardour/ardour_ui.cc9
-rw-r--r--gtk2_ardour/ardour_ui.h19
-rw-r--r--gtk2_ardour/main.cc1
3 files changed, 12 insertions, 17 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 15b57988b2..70ff7a6081 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -150,7 +150,6 @@ using namespace Gtk;
using namespace std;
ARDOUR_UI *ARDOUR_UI::theArdourUI = 0;
-UIConfiguration *ARDOUR_UI::ui_config = 0;
sigc::signal<void,bool> ARDOUR_UI::Blink;
sigc::signal<void> ARDOUR_UI::RapidScreenUpdate;
@@ -162,7 +161,7 @@ sigc::signal<void> ARDOUR_UI::CloseAllDialogs;
ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
: Gtkmm2ext::UI (PROGRAM_NAME, argcp, argvp)
-
+ , ui_config (new UIConfiguration)
, gui_object_state (new GUIObjectState)
, primary_clock (new MainClock (X_("primary"), false, X_("transport"), true, true, true, false, true))
@@ -397,12 +396,6 @@ 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 47e71c365c..f752295f78 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -129,7 +129,13 @@ namespace Gtkmm2ext {
class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
{
- public:
+ private:
+ /* This must be the first data element because constructor ordering
+ relies on it.
+ */
+ UIConfiguration* ui_config;
+
+ public:
ARDOUR_UI (int *argcp, char **argvp[], const char* localedir);
~ARDOUR_UI();
@@ -168,9 +174,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void save_state (const std::string & state_name = "", bool switch_to_it = false);
static ARDOUR_UI *instance () { return theArdourUI; }
- static UIConfiguration *config () { return ui_config; }
- static void create_configuration();
-
+ static UIConfiguration *config () { return theArdourUI->ui_config; }
+
PublicEditor& the_editor(){return *editor;}
Mixer_UI* the_mixer() { return mixer; }
@@ -218,7 +223,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void create_xrun_marker (framepos_t);
GUIObjectState* gui_object_state;
-
+
MainClock* primary_clock;
MainClock* secondary_clock;
void focus_on_clock ();
@@ -324,7 +329,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
private:
Gtk::Tooltips _tooltips;
- NSM_Client *nsm;
+ NSM_Client* nsm;
bool _was_dirty;
bool _mixer_on_top;
bool first_time_engine_run;
@@ -649,8 +654,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
BigClockWindow* create_big_clock_window();
GlobalPortMatrixWindow* create_global_port_matrix (ARDOUR::DataType);
- static UIConfiguration *ui_config;
-
ARDOUR::SystemExec *video_server_process;
void handle_locations_change (ARDOUR::Location*);
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 5c7735bbc1..b4f5a36521 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -271,7 +271,6 @@ 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;