- if( p_intf->b_block &&
- ( !strncmp( p_intf->p_module->psz_object_name, "macosx" , 6 ) ||
- !strncmp( p_intf->p_libvlc->psz_object_name, "clivlc", 6 ) ) )
- {
- /* VLC in normal primary interface mode */
- RunInterface( p_intf );
- p_intf->b_die = VLC_TRUE;
- }
- else
- {
- /* This interface doesn't need to be run */
- if( !p_intf->pf_run )
- return VLC_SUCCESS;
-
- /* Run the interface in a separate thread */
- if( !strcmp( p_intf->p_module->psz_object_name, "macosx" ) )
- {
- msg_Err( p_intf, "You cannot run the MacOS X module as an "
- "extra interface. Please read the "
- "README.MacOSX.rtf file.");
- return VLC_EGENERIC;
- }
- if( vlc_thread_create( p_intf, "interface", RunInterface,
- VLC_THREAD_PRIORITY_LOW, VLC_FALSE ) )
- {
- msg_Err( p_intf, "cannot spawn interface thread" );
- return VLC_EGENERIC;
- }
-
- if( p_intf->b_block )
- {
- /* VLC in primary interface mode with a working macosx vout */
- [NSApp run];
- p_intf->b_die = VLC_TRUE;
- }
- }
-#else
- if( p_intf->b_block )
- {
- /* If the main interface does not have a run function,
- * implement a waiting loop ourselves
- */
- if( p_intf->pf_run )
- RunInterface( p_intf );
- else
- {
- while( !intf_ShouldDie( p_intf ) )
- msleep( INTF_IDLE_SLEEP * 2);
- }
- p_intf->b_die = VLC_TRUE;