]> 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 406ba655ab5a9d3cd3497ae7d4ea257711e85e82..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.6 2001/05/30 17:03:12 sam 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 "modules_export.h"
 
+#ifdef WIN32
+#ifndef snprintf
+#define snprintf _snprintf
+#endif
+#endif
+
 /*
  * Local Prototypes
  */
@@ -176,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 );
     }
@@ -197,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 );
@@ -791,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 )
     { 
@@ -923,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;
 }