]> git.sesse.net Git - vlc/commitdiff
Hopefully fix locking issues with wx
authorClément Stenac <zorglub@videolan.org>
Fri, 30 Apr 2004 15:15:16 +0000 (15:15 +0000)
committerClément Stenac <zorglub@videolan.org>
Fri, 30 Apr 2004 15:15:16 +0000 (15:15 +0000)
src/input/control.c
src/playlist/playlist.c

index 2926c77b3e4c702c0ffe2a5f78ac05beee6dda7a..2a7adc802b6786e2c5b5d95744c6219fcf34dbab 100644 (file)
@@ -129,7 +129,9 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
                 if( p_playlist )
                 {
                     val.i_int = p_playlist->i_index;
+                    vlc_mutex_unlock( &p_input->stream.stream_lock );
                     var_Set( p_playlist, "item-change", val );
+                    vlc_mutex_lock( &p_input->stream.stream_lock );
                     vlc_object_release( p_playlist );
                 }
             }
@@ -205,7 +207,9 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
                 if( p_playlist )
                 {
                     val.i_int = p_playlist->i_index;
+                    vlc_mutex_unlock( &p_input->stream.stream_lock );
                     var_Set( p_playlist, "item-change", val );
+                    vlc_mutex_lock( &p_input->stream.stream_lock );
                     vlc_object_release( p_playlist );
                 }
             }
index 546e539ad5bfd6867f1b29753c5069063fe91a2f..5dbe6a839f5a64b38d2b0a563bcfd30655a3af5a 100644 (file)
@@ -184,7 +184,10 @@ void playlist_Command( playlist_t * p_playlist, playlist_command_t i_command,
         {
             input_StopThread( p_playlist->p_input );
             val.i_int = p_playlist->i_index;
+            /* Does not matter if we unlock here */
+            vlc_mutex_unlock( &p_playlist->object_lock );
             var_Set( p_playlist, "item-change",val );
+            vlc_mutex_lock( &p_playlist->object_lock );
         }
         break;