summaryrefslogtreecommitdiffstats
path: root/src/libs/gui/App.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-07-28 21:56:03 +0000
committerDavid Robillard <d@drobilla.net>2008-07-28 21:56:03 +0000
commita6fb6a0289ea47692d87f3e0200532a426f8e60d (patch)
tree0e497255eb8a263ff9cca87b2ed125b71144cacb /src/libs/gui/App.hpp
parent8e2ba26101828dcf310e0a43ace7aa68dafd3b16 (diff)
downloadingen-a6fb6a0289ea47692d87f3e0200532a426f8e60d.tar.gz
ingen-a6fb6a0289ea47692d87f3e0200532a426f8e60d.tar.bz2
ingen-a6fb6a0289ea47692d87f3e0200532a426f8e60d.zip
Simply global memory management crap by using shared_ptr in the World struct (it's not C anyway, might as well).
Properly support LV2 events from plugin UIs over OSC and directly (w/ monolithic UI/engine). Fix crashes on node destruction with monolithic UI/engine. Resolves ticket #177. git-svn-id: http://svn.drobilla.net/lad/ingen@1293 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui/App.hpp')
-rw-r--r--src/libs/gui/App.hpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/libs/gui/App.hpp b/src/libs/gui/App.hpp
index 6bb7083b..44878925 100644
--- a/src/libs/gui/App.hpp
+++ b/src/libs/gui/App.hpp
@@ -28,6 +28,7 @@
#include <libglademm.h>
#include <raul/SharedPtr.hpp>
#include <redlandmm/World.hpp>
+#include <module/World.hpp>
using namespace std;
@@ -83,9 +84,7 @@ public:
void error_message(const string& msg);
- void attach(SharedPtr<EngineInterface> engine,
- SharedPtr<SigClientInterface> client);
-
+ void attach(SharedPtr<SigClientInterface> client);
void detach();
bool gtk_main_iteration();
@@ -102,7 +101,7 @@ public:
Glib::RefPtr<Gdk::Pixbuf> icon_from_path(const string& path, int size);
- const SharedPtr<EngineInterface>& engine() const { return _engine; }
+ const SharedPtr<EngineInterface> engine() const { return _world->engine; }
const SharedPtr<SigClientInterface>& client() const { return _client; }
const SharedPtr<Store>& store() const { return _store; }
const SharedPtr<ThreadedLoader>& loader() const { return _loader; }
@@ -112,10 +111,7 @@ public:
static inline App& instance() { assert(_instance); return *_instance; }
- static void run(int argc, char** argv,
- Ingen::Shared::World* world,
- SharedPtr<Ingen::Engine> engine,
- SharedPtr<Shared::EngineInterface> interface);
+ static void run(int argc, char** argv, Ingen::Shared::World* world);
Ingen::Shared::World* world() { return _world; }
@@ -144,7 +140,6 @@ protected:
SharedPtr<Glib::Module> _serialisation_module;
- SharedPtr<EngineInterface> _engine;
SharedPtr<SigClientInterface> _client;
SharedPtr<Store> _store;
SharedPtr<ThreadedLoader> _loader;