commit f3d6a10d7505846ecdbac24d60a45f44a9d1c4fa
parent f609f1643c09a90aab4d4481a689a6ee8e9f697a
Author: falkTX <falktx@gmail.com>
Date: Thu, 20 Nov 2014 06:38:05 +0000
NTK fixes
Diffstat:
3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/dgl/ntk/NtkApp.hpp b/dgl/ntk/NtkApp.hpp
@@ -80,7 +80,7 @@ public:
fThreadInitialized(false)
{
#ifdef DISTRHO_OS_LINUX
- //XInitThreads();
+ XInitThreads();
#endif
startThread();
diff --git a/dgl/ntk/NtkWindow.hpp b/dgl/ntk/NtkWindow.hpp
@@ -194,18 +194,21 @@ private:
friend class NtkWidget;
- static void _idleHandler(void* data)
+ void idleHandler()
{
- NtkWindow* const self((NtkWindow*)data);
-
- for (std::list<IdleCallback*>::iterator it=self->fIdleCallbacks.begin(), ite=self->fIdleCallbacks.end(); it != ite; ++it)
+ for (std::list<IdleCallback*>::iterator it=fIdleCallbacks.begin(), ite=fIdleCallbacks.end(); it != ite; ++it)
{
IdleCallback* const idleCallback(*it);
idleCallback->idleCallback();
}
- if (fIdleCallbacks.size() > 0 && ! self->getApp().isQuiting())
- Fl::repeat_timeout(0.030, _idleHandler, self);
+ if (fIdleCallbacks.size() > 0 && ! getApp().isQuiting())
+ Fl::repeat_timeout(0.030, _idleHandler, this);
+ }
+
+ static void _idleHandler(void* data)
+ {
+ ((NtkWindow*)data)->idleHandler();
}
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NtkWindow)
diff --git a/distrho/DistrhoUIMain.cpp b/distrho/DistrhoUIMain.cpp
@@ -34,6 +34,8 @@ START_NAMESPACE_DGL
void NtkApp::NextUI::run()
{
+ const FlScopedLock csl;
+
if (create)
{
d_stdout("Creating NTK UI in separate thread...");