Browse Source

Make sure all UIs receive idle on carla-plugin and fix #215

tags/1.9.6
falkTX 9 years ago
parent
commit
68a05bf7bf
2 changed files with 4 additions and 5 deletions
  1. +1
    -0
      source/backend/engine/CarlaEngine.cpp
  2. +3
    -5
      source/backend/engine/CarlaEngineNative.cpp

+ 1
- 0
source/backend/engine/CarlaEngine.cpp View File

@@ -286,6 +286,7 @@ void CarlaEngine::idle() noexcept
{
CARLA_SAFE_ASSERT_RETURN(pData->nextAction.opcode == kEnginePostActionNull,); // FIXME REMOVE
CARLA_SAFE_ASSERT_RETURN(pData->nextPluginId == pData->maxPluginNumber,);
CARLA_SAFE_ASSERT_RETURN(getType() != kEngineTypePlugin,);

for (uint i=0; i < pData->curPluginCount; ++i)
{


+ 3
- 5
source/backend/engine/CarlaEngineNative.cpp View File

@@ -1536,9 +1536,7 @@ protected:

if (plugin != nullptr && plugin->isEnabled())
{
const uint hints(plugin->getHints());

if ((hints & PLUGIN_HAS_CUSTOM_UI) != 0 && (hints & PLUGIN_NEEDS_UI_MAIN_THREAD) != 0)
if (plugin->getHints() & PLUGIN_HAS_CUSTOM_UI)
{
try {
plugin->uiIdle();
@@ -1551,10 +1549,10 @@ protected:
pData->osc.idle();
#endif

fUiServer.idlePipe();

if (fUiServer.isPipeRunning())
{
fUiServer.idlePipe();

const CarlaMutexLocker cml(fUiServer.getPipeLock());
#ifndef CARLA_OS_WIN
const EngineTimeInfo& timeInfo(pData->timeInfo);


Loading…
Cancel
Save