]> git.sesse.net Git - vlc/commitdiff
* interface/interface.c: fixed a bug with embedded vouts and interface switching.
authorGildas Bazin <gbazin@videolan.org>
Sun, 16 May 2004 22:42:48 +0000 (22:42 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 16 May 2004 22:42:48 +0000 (22:42 +0000)
* video_output/vout_intf.c: small fix.

src/interface/interface.c
src/video_output/vout_intf.c

index 4698e18cb76c750f70ab2a2e9515e3138caf0017..d676ba852753bbbc7e89700bfe806b6cee32644a 100644 (file)
@@ -319,11 +319,15 @@ static void RunInterface( intf_thread_t *p_intf )
         /* Provide ability to switch the main interface on the fly */
         psz_intf = p_intf->psz_switch_intf;
         p_intf->psz_switch_intf = NULL;
-        p_intf->b_die = VLC_FALSE;
 
         /* Make sure the old interface is completely uninitialized */
         module_Unneed( p_intf, p_intf->p_module );
 
+        vlc_mutex_lock( &p_intf->object_lock );
+        p_intf->b_die = VLC_FALSE;
+        p_intf->b_dead = VLC_FALSE;
+        vlc_mutex_unlock( &p_intf->object_lock );
+
         p_intf->p_module = module_Need( p_intf, "interface", psz_intf, 0 );
         free( psz_intf );
     }
index 18e4f9395091b3c8bb1ca238b2613b6ab3328be3..5dc92b956f4e0aecc1db2694406651ddc2b5d160 100644 (file)
@@ -151,7 +151,6 @@ int vout_ControlWindow( vout_thread_t *p_vout, void *p_window,
     {
         msg_Err( p_vout, "no pf_control_window");
         vlc_mutex_unlock( &p_intf->object_lock );
-        vlc_object_release( p_intf );
         return VLC_EGENERIC;
     }