]> git.sesse.net Git - vlc/blobdiff - plugins/gtk/gtk_menu.c
* DirectX plugin by Gildas Bazin <gbazin@netcourrier.com>.
[vlc] / plugins / gtk / gtk_menu.c
index 40d77748138c108173150089e5f1c7cedb736ecd..cefa5e44860d54e594cd1869e9263e5bf8150622 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_menu.c : functions to handle menu items.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_menu.c,v 1.5 2001/05/24 01:24:47 stef Exp $
+ * $Id: gtk_menu.c,v 1.9 2001/06/02 01:09:03 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
 
 #include "main.h"
 
+#include "modules_export.h"
+
+#ifdef WIN32
+#ifndef snprintf
+#define snprintf _snprintf
+#endif
+#endif
+
 /*
  * Local Prototypes
  */
@@ -174,7 +182,9 @@ void GtkPopupNavigationToggle( GtkCheckMenuItem * menuitem,
         input_ChangeArea( p_intf->p_input, (input_area_t*)p_area );
 
         p_intf->p_sys->b_chapter_update = 1;
+        vlc_mutex_lock( &p_intf->p_input->stream.stream_lock );
         GtkSetupMenus( p_intf );
+        vlc_mutex_unlock( &p_intf->p_input->stream.stream_lock );
 
         input_SetStatus( p_intf->p_input, INPUT_STATUS_PLAY );
     }
@@ -195,7 +205,9 @@ void GtkMenubarTitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
                           p_intf->p_input->stream.pp_areas[i_title] );
 
         p_intf->p_sys->b_title_update = 1;
+        vlc_mutex_lock( &p_intf->p_input->stream.stream_lock );
         GtkSetupMenus( p_intf );
+        vlc_mutex_unlock( &p_intf->p_input->stream.stream_lock );
         p_intf->p_sys->b_title_update = 0;
 
         input_SetStatus( p_intf->p_input, INPUT_STATUS_PLAY );
@@ -789,7 +801,7 @@ gint GtkSetupMenus( intf_thread_t * p_intf )
     p_intf->p_sys->b_audio_update |= p_intf->p_sys->b_title_update;
     p_intf->p_sys->b_spu_update |= p_intf->p_sys->b_title_update;
 
-    vlc_mutex_lock( &p_intf->p_input->stream.stream_lock );
+//    vlc_mutex_lock( &p_intf->p_input->stream.stream_lock );
 
     if( p_intf->p_sys->b_title_update )
     { 
@@ -921,6 +933,8 @@ gint GtkSetupMenus( intf_thread_t * p_intf )
         p_intf->p_sys->b_spu_update = 0;
     }
 
+    vlc_mutex_lock( &p_intf->p_input->stream.stream_lock );
+
     return TRUE;
 }