From: RĂ©mi Denis-Courmont Date: Thu, 24 Jul 2008 19:00:26 +0000 (+0300) Subject: Remove the main thread hack on platforms with non-idiotic toolkits X-Git-Tag: 0.9.0-test3~278 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=36ca011c05a6d034c37ee881519daa78e5e89c39;p=vlc Remove the main thread hack on platforms with non-idiotic toolkits --- diff --git a/include/vlc_interface.h b/include/vlc_interface.h index 9e4a814239..60fcff8796 100644 --- a/include/vlc_interface.h +++ b/include/vlc_interface.h @@ -50,7 +50,9 @@ struct intf_thread_t VLC_COMMON_MEMBERS /* Thread properties and locks */ +#ifdef __APPLE__ bool b_should_run_on_first_thread; +#endif /* Specific interfaces */ intf_console_t * p_console; /** console */ diff --git a/src/interface/interface.c b/src/interface/interface.c index 51a62a59e6..5b2d392af3 100644 --- a/src/interface/interface.c +++ b/src/interface/interface.c @@ -50,8 +50,9 @@ * Local prototypes *****************************************************************************/ static void RunInterface( intf_thread_t *p_intf ); +#ifdef __APPLE__ static void MonitorLibVLCDeath( intf_thread_t *p_intf ); - +#endif static int AddIntfCallback( vlc_object_t *, char const *, vlc_value_t , vlc_value_t , void * ); @@ -95,7 +96,9 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module ) if( !p_intf ) return NULL; p_intf->b_interaction = false; +#ifdef __APPLE__ p_intf->b_should_run_on_first_thread = false; +#endif /* Choose the best module */ p_intf->psz_intf = strdup( psz_module ); @@ -136,6 +139,7 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module ) */ int intf_RunThread( intf_thread_t *p_intf ) { +#ifdef __APPLE__ /* Hack to get Mac OS X Cocoa runtime running * (it needs access to the main thread) */ if( p_intf->b_should_run_on_first_thread ) @@ -158,7 +162,7 @@ int intf_RunThread( intf_thread_t *p_intf ) vlc_object_release( p_intf ); return VLC_SUCCESS; } - +#endif /* Run the interface in a separate thread */ if( vlc_thread_create( p_intf, "interface", RunInterface, VLC_THREAD_PRIORITY_LOW, false ) ) @@ -254,6 +258,7 @@ static void RunInterface( intf_thread_t *p_intf ) while( p_intf->p_module ); } +#ifdef __APPLE__ /***************************************************************************** * MonitorLibVLCDeath: Used when b_should_run_on_first_thread is set. *****************************************************************************/ @@ -283,8 +288,8 @@ static void MonitorLibVLCDeath( intf_thread_t *p_intf ) vlc_object_kill( p_intf ); } vlc_list_release( p_list ); - } +#endif static int AddIntfCallback( vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data )