summaryrefslogtreecommitdiffstats
path: root/src/gui/ThreadedLoader.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/ThreadedLoader.hpp')
-rw-r--r--src/gui/ThreadedLoader.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gui/ThreadedLoader.hpp b/src/gui/ThreadedLoader.hpp
index e7815eeb..273c72f9 100644
--- a/src/gui/ThreadedLoader.hpp
+++ b/src/gui/ThreadedLoader.hpp
@@ -27,7 +27,7 @@
#include "ingen/Interface.hpp"
#include "ingen/serialisation/Parser.hpp"
#include "ingen/serialisation/Serialiser.hpp"
-#include "raul/Slave.hpp"
+#include "raul/Semaphore.hpp"
#include "raul/Thread.hpp"
namespace Ingen {
@@ -44,12 +44,14 @@ namespace GUI {
*
* \ingroup GUI
*/
-class ThreadedLoader : public Raul::Slave
+class ThreadedLoader : public Raul::Thread
{
public:
ThreadedLoader(App& app,
SharedPtr<Interface> engine);
+ ~ThreadedLoader();
+
void load_patch(bool merge,
const Glib::ustring& document_uri,
boost::optional<Raul::Path> engine_parent,
@@ -68,9 +70,10 @@ private:
/** Returns nothing and takes no parameters (because they have all been bound) */
typedef sigc::slot<void> Closure;
- void _whipped();
+ void _run();
App& _app;
+ Raul::Semaphore _sem;
SharedPtr<Interface> _engine;
Glib::Mutex _mutex;
std::list<Closure> _events;