diff options
author | David Robillard <d@drobilla.net> | 2008-07-28 21:56:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-07-28 21:56:03 +0000 |
commit | a6fb6a0289ea47692d87f3e0200532a426f8e60d (patch) | |
tree | 0e497255eb8a263ff9cca87b2ed125b71144cacb /src/libs/gui/App.hpp | |
parent | 8e2ba26101828dcf310e0a43ace7aa68dafd3b16 (diff) | |
download | ingen-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.hpp | 13 |
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; |