]> git.sesse.net Git - vlc/commitdiff
* fixed a compatibility problem with the CVS version of wxwindows
authorYoann Peronneau <yoann@videolan.org>
Tue, 9 Dec 2003 19:15:03 +0000 (19:15 +0000)
committerYoann Peronneau <yoann@videolan.org>
Tue, 9 Dec 2003 19:15:03 +0000 (19:15 +0000)
* added a lock when changing p_vout->p_last_osd_message

include/video_output.h
modules/gui/wxwindows/open.cpp
src/video_output/video_text.c
src/video_output/vout_subpictures.c

index 387d86a66a62f199b5f9d51ee99c4c0b3049cf71..177c1ec982f833766b9b91a0ff3f94f333c6ae0b 100644 (file)
@@ -2,7 +2,7 @@
  * video_output.h : video output thread
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: video_output.h,v 1.105 2003/12/08 17:48:13 yoann Exp $
+ * $Id: video_output.h,v 1.106 2003/12/09 19:15:03 yoann Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Samuel Hocevar <sam@via.ecp.fr>
@@ -122,7 +122,7 @@ struct vout_thread_t
     picture_t           p_picture[2*VOUT_MAX_PICTURES];        /**< pictures */
     subpicture_t        p_subpicture[VOUT_MAX_PICTURES];    /**< subpictures */
 
-    subpicture_t *      last_osd_message;
+    subpicture_t *      p_last_osd_message;
 
     /* Statistics */
     count_t          c_loops;
index e7043fb7bdb2177f18c0aef2573f713e01dfe8c3..a399494ddf7b2d5e379b8de7d773ab801cb2c168 100644 (file)
@@ -2,7 +2,7 @@
  * open.cpp : wxWindows plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000-2001 VideoLAN
- * $Id: open.cpp,v 1.46 2003/12/09 00:46:03 yoann Exp $
+ * $Id: open.cpp,v 1.47 2003/12/09 19:15:03 yoann Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *
@@ -955,7 +955,7 @@ void OpenDialog::OnDiscDeviceChange( wxCommandEvent& event )
             break;
     }
 
-    if( strcmp( psz_device, disc_device->GetValue().c_str() ) )
+    if( disc_device->GetValue().Cmp( wxU( psz_device ) ) )
     {
         b_disc_device_changed = true;
     }
index 3bac695120eed6ada37bb924adc9e2e54a1df6a3..ea7eb1b938c81e5bb31e61382f72fdaec581bae9 100644 (file)
@@ -2,7 +2,7 @@
  * video_text.c : text manipulation functions
  *****************************************************************************
  * Copyright (C) 1999-2001 VideoLAN
- * $Id: video_text.c,v 1.47 2003/12/08 17:48:13 yoann Exp $
+ * $Id: video_text.c,v 1.48 2003/12/09 19:15:03 yoann Exp $
  *
  * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no>
  *
@@ -100,13 +100,18 @@ void vout_OSDMessage( vlc_object_t *p_caller, char *psz_string )
 
     if( p_vout )
     {
-        if( p_vout->last_osd_message )
+        vlc_mutex_lock( &p_vout->change_lock );
+
+        if( p_vout->p_last_osd_message )
         {
-            vout_DestroySubPicture( p_vout, p_vout->last_osd_message );
-            p_vout->last_osd_message = NULL;
+            vout_DestroySubPicture( p_vout, p_vout->p_last_osd_message );
         }
-        p_vout->last_osd_message = vout_ShowTextRelative( p_vout, psz_string, 
+
+        p_vout->p_last_osd_message = vout_ShowTextRelative( p_vout, psz_string,
                         NULL, OSD_ALIGN_TOP|OSD_ALIGN_RIGHT, 30,20,1000000 );
+
+        vlc_mutex_unlock( &p_vout->change_lock );
+
         vlc_object_release( p_vout );
     }
 }
index 89dd7388eaa1305aa44e678255f3fe7a251139f0..0c261aba9a97f07b5f478d80517d91aae78a7842 100644 (file)
@@ -2,7 +2,7 @@
  * vout_subpictures.c : subpicture management functions
  *****************************************************************************
  * Copyright (C) 2000 VideoLAN
- * $Id: vout_subpictures.c,v 1.22 2003/12/08 17:48:13 yoann Exp $
+ * $Id: vout_subpictures.c,v 1.23 2003/12/09 19:15:03 yoann Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -163,9 +163,9 @@ void vout_DestroySubPicture( vout_thread_t *p_vout, subpicture_t *p_subpic )
         p_subpic->pf_destroy( p_subpic );
     }
 
-    if( p_subpic == p_vout->last_osd_message )
+    if( p_subpic == p_vout->p_last_osd_message )
     {
-        p_vout->last_osd_message = NULL;
+        p_vout->p_last_osd_message = NULL;
     }
 
     p_subpic->i_status = FREE_SUBPICTURE;