[vlc-devel] [PATCH] Qt4: use MTA apartment for COM (probably fixes #6880)
Rémi Denis-Courmont
remi at remlab.net
Thu Oct 4 17:19:22 CEST 2012
---
modules/access/dshow/dshow.cpp | 6 ++++--
modules/gui/qt4/components/simple_preferences.cpp | 2 +-
modules/gui/qt4/main_interface_win32.cpp | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/modules/access/dshow/dshow.cpp b/modules/access/dshow/dshow.cpp
index d44aa2c..05b476c 100644
--- a/modules/access/dshow/dshow.cpp
+++ b/modules/access/dshow/dshow.cpp
@@ -2015,7 +2015,8 @@ static int FindDevices( vlc_object_t *p_this, const char *psz_name,
{
/* Find list of devices */
list<string> list_devices;
- if( SUCCEEDED(CoInitializeEx( NULL, COINIT_APARTMENTTHREADED )) )
+ if( SUCCEEDED(CoInitializeEx( NULL, COINIT_MULTITTHREADED ))
+ || SUCCEEDED(CoInitializeEx( NULL, COINIT_APARTMENTTHREADED )) )
{
bool b_audio = !strcmp( psz_name, CFG_PREFIX "adev" );
@@ -2055,7 +2056,8 @@ static int ConfigDevicesCallback( vlc_object_t *p_this, char const *psz_name,
char *psz_device = NULL;
int i_ret = VLC_SUCCESS;
- if( FAILED(CoInitializeEx( NULL, COINIT_APARTMENTTHREADED )) )
+ if( FAILED(CoInitializeEx( NULL, COINIT_MULTITTHREADED ))
+ && FAILED(CoInitializeEx( NULL, COINIT_APARTMENTTHREADED )) )
return VLC_EGENERIC;
if( !EMPTY_STR( newval.psz_string ) )
diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp
index c19b30a..0c077df 100644
--- a/modules/gui/qt4/components/simple_preferences.cpp
+++ b/modules/gui/qt4/components/simple_preferences.cpp
@@ -935,7 +935,7 @@ bool SPrefsPanel::addType( const char * psz_ext, QTreeWidgetItem* current,
void SPrefsPanel::assoDialog()
{
IApplicationAssociationRegistrationUI *p_appassoc;
- CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
+ CoInitializeEx( NULL, COINIT_MULTITTHREADED );
if( S_OK == CoCreateInstance(CLSID_ApplicationAssociationRegistrationUI,
NULL, CLSCTX_INPROC_SERVER,
diff --git a/modules/gui/qt4/main_interface_win32.cpp b/modules/gui/qt4/main_interface_win32.cpp
index 5623cdd..42a9135 100644
--- a/modules/gui/qt4/main_interface_win32.cpp
+++ b/modules/gui/qt4/main_interface_win32.cpp
@@ -79,7 +79,7 @@ void MainInterface::createTaskBarButtons()
FIXME:the play button's picture doesn't changed to pause when clicked
*/
- CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
+ CoInitializeEx( NULL, COINIT_MULTITHREADED );
if( S_OK == CoCreateInstance( CLSID_TaskbarList,
NULL, CLSCTX_INPROC_SERVER,
--
1.7.10.4
More information about the vlc-devel
mailing list