The problem is easy to reproduce (i used Windows 8 and ableton 9 Demo) and its related to the keyboard hook fix for ableton live:
Load a VSTi Synth and make sure it has the focus. Then press a Keyboard key that LIVE consumes (for example ‘e’) and keep it. Now click somewhere into the plugin UI. After that the LIVE UI and the plugin does note response to mouse events anymore. The only thing you can do is to quit live with a task kill.
The debugger shows me that the program spends a lot of time in the keyboardHookCallback method while the UI does not response anymore:
LRESULT CALLBACK keyboardHookCallback (int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == 0)
{
const MSG& msg = *(const MSG*) lParam;
if (msg.message == WM_CHAR)
{
Desktop& desktop = Desktop::getInstance();
HWND focused = GetFocus();
for (int i = desktop.getNumComponents(); --i >= 0;)
{
if ((HWND) desktop.getComponent (i)->getWindowHandle() == focused)
{
SendMessage (focused, msg.message, msg.wParam, msg.lParam);
break;
}
}
}
}
return CallNextHookEx (mouseWheelHook, nCode, wParam, lParam);
}
This fixes the problem:
//if (PluginHostType().isAbletonLive())
//registerKeyboardHook();
Related thread (VST Plugin Still Not Getting Keystrokes):
http://rawmaterialsoftware.com/viewtopic.php?f=8&t=6901