From 4c7c68f45a3414f355ec2b17ff235943f93bd199 Mon Sep 17 00:00:00 2001 From: justnope Date: Fri, 18 May 2018 21:04:54 +0200 Subject: [PATCH] Initialise OLE in RemoteVstPlugin Some plugins don't initialise it themselves, expecting it already to be done for them, and so are liable to hang without it (e.g. TX16Wx). Co-authored-by: Hyunjin Song Co-authored-by: Dominic Clark --- plugins/vst_base/CMakeLists.txt | 2 +- plugins/vst_base/RemoteVstPlugin.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 5e2b50206..84920d9be 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -56,7 +56,7 @@ SET(WINE_CXX_ARGS -L${WINE_LIBRARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/RemoteVstPlugin.cpp -std=c++0x - -mwindows -lpthread ${EXTRA_FLAGS} -fno-omit-frame-pointer + -mwindows -lpthread -lole32 ${EXTRA_FLAGS} -fno-omit-frame-pointer ${WINE_BUILD_FLAGS} -o ../RemoteVstPlugin ) diff --git a/plugins/vst_base/RemoteVstPlugin.cpp b/plugins/vst_base/RemoteVstPlugin.cpp index 12a27d183..219a153f5 100644 --- a/plugins/vst_base/RemoteVstPlugin.cpp +++ b/plugins/vst_base/RemoteVstPlugin.cpp @@ -2061,6 +2061,8 @@ int main( int _argc, char * * _argv ) return -1; } + OleInitialize(nullptr); + #ifdef LMMS_BUILD_WIN32 #ifndef __WINPTHREADS_VERSION // (non-portable) initialization of statically linked pthread library @@ -2176,6 +2178,7 @@ int main( int _argc, char * * _argv ) delete __plugin; + OleUninitialize(); #ifdef LMMS_BUILD_WIN32 #ifndef __WINPTHREADS_VERSION