jules, i’ve sent you the modified files for making the vst wrapper available for linux. if you remember i was driving a background thread to dispatch message manager messages to components:
EditorCompWrapper:
void run ()
{
int maxNumberOfMessagesToDispatch;
while (! threadShouldExit())
{
maxNumberOfMessagesToDispatch = 10000;
while (--maxNumberOfMessagesToDispatch >= 0)
{
bool carryOn = false;
JUCE_TRY
{
carryOn = juce_dispatchNextMessageOnSystemQueue (true);
}
JUCE_CATCH_EXCEPTION
if (! carryOn)
break;
}
Thread::sleep (10);
}
}
actually i’m a bit stumped cause everything works except things like popup-menus and combo-boxes (which open up modal components,
typically added to the desktop): when i try to open a popup menu or click on a combobox everything freeze, both my plugin and the host…
i’ve looked at Component::runModalLoop() to see what is going on here,
and i see that there are some lines that filter out things when we are not in the message thread…
if (! MessageManager::getInstance()->isThisTheMessageThread())
{
// use a callback so this can be called from non-gui threads
return (int) (pointer_sized_int)
MessageManager::getInstance()
->callFunctionOnMessageThread (&runModalLoopCallback, (void*) this);
}
where do you think i have to stick to make things work ?