From 993d4a6e59fa830ccff305872b41acf9205fe86e Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 28 Jun 2014 15:46:49 +0100 Subject: [PATCH] Small fix for win32 VST hosting keyboard hooks. --- .../format_types/juce_VSTPluginFormat.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index 458d59bb6d..787a32a114 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -2233,10 +2233,11 @@ private: #pragma warning (push) #pragma warning (disable: 4244) - originalWndProc = (void*) GetWindowLongPtr (pluginHWND, GWLP_WNDPROC); - if (! pluginWantsKeys) + { + originalWndProc = (void*) GetWindowLongPtr (pluginHWND, GWLP_WNDPROC); SetWindowLongPtr (pluginHWND, GWLP_WNDPROC, (LONG_PTR) vstHookWndProc); + } #pragma warning (pop) @@ -2326,10 +2327,11 @@ private: #if JUCE_WINDOWS #pragma warning (push) #pragma warning (disable: 4244) - if (pluginHWND != 0 && IsWindow (pluginHWND)) + if (originalWndProc != 0 && pluginHWND != 0 && IsWindow (pluginHWND)) SetWindowLongPtr (pluginHWND, GWLP_WNDPROC, (LONG_PTR) originalWndProc); #pragma warning (pop) + originalWndProc = 0; pluginHWND = 0; #elif JUCE_LINUX pluginWindow = 0;