summaryrefslogtreecommitdiffstats
path: root/src/libs/gui/ConnectWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/gui/ConnectWindow.cpp')
-rw-r--r--src/libs/gui/ConnectWindow.cpp31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/libs/gui/ConnectWindow.cpp b/src/libs/gui/ConnectWindow.cpp
index 4846644a..c9cd948d 100644
--- a/src/libs/gui/ConnectWindow.cpp
+++ b/src/libs/gui/ConnectWindow.cpp
@@ -70,19 +70,6 @@ ConnectWindow::ConnectWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::
, _connect_stage(0)
, _new_engine(NULL)
{
- _engine_module = Ingen::Shared::load_module("ingen_engine");
-
- if (!_engine_module) {
- cerr << "Unable to load ingen_engine module, internal engine unavailable." << endl;
- cerr << "If you are running from the source tree, run ingenuity_dev." << endl;
- }
-
- bool found = _engine_module->get_symbol("new_engine", (void*&)_new_engine);
-
- if (!found) {
- cerr << "Unable to find module entry point, internal engine unavailable." << endl;
- _engine_module.reset();
- }
}
@@ -218,9 +205,10 @@ ConnectWindow::connect()
} else if (_mode == INTERNAL) {
Ingen::Shared::World* world = App::instance().world();
- assert(_new_engine);
- if ( ! world->local_engine)
+ if ( ! world->local_engine) {
+ assert(_new_engine);
world->local_engine = SharedPtr<Engine>(_new_engine(world));
+ }
if ( ! world->engine)
world->engine = world->local_engine->new_queued_interface();
@@ -297,9 +285,18 @@ ConnectWindow::load_widgets()
_connect_button->signal_clicked().connect(sigc::mem_fun(this, &ConnectWindow::connect));
_quit_button->signal_clicked().connect(sigc::mem_fun(this, &ConnectWindow::quit));
- _widgets_loaded = true;
-
_progress_bar->set_pulse_step(0.01);
+ _widgets_loaded = true;
+
+ _engine_module = Ingen::Shared::load_module("ingen_engine");
+ if (!_engine_module)
+ cerr << "Unable to load ingen_engine module, internal engine unavailable." << endl;
+ bool found = _engine_module->get_symbol("new_engine", (void*&)_new_engine);
+ if (!found) {
+ cerr << "Unable to find module entry point, internal engine unavailable." << endl;
+ _engine_module.reset();
+ }
+
server_toggled();
}