]> git.sesse.net Git - vlc/commitdiff
Merge branch '1.0-bugfix'
authorRémi Duraffort <ivoire@videolan.org>
Tue, 26 May 2009 10:58:18 +0000 (12:58 +0200)
committerRémi Duraffort <ivoire@videolan.org>
Tue, 26 May 2009 11:15:26 +0000 (13:15 +0200)
modules/control/gestures.c
modules/control/hotkeys.c

index ba41860a5f6a2349d8368cb313e6ac144200f43c..93b7a9edb8dbee01b8e95e0c1e7bf0346b8f5b01 100644 (file)
@@ -306,8 +306,8 @@ static void RunIntf( intf_thread_t *p_intf )
 
             case GESTURE(UP,RIGHT,NONE,NONE):
                 {
-                   vlc_value_t val, list, list2;
-                   int i_count, i;
+                    vlc_value_t val, list, list2;
+                    int i_count, i;
 
                     p_playlist = pl_Hold( p_intf );
                     p_input = playlist_CurrentInput( p_playlist );
@@ -316,20 +316,21 @@ static void RunIntf( intf_thread_t *p_intf )
                     if( !p_input )
                         break;
 
-                   var_Get( p_input, "audio-es", &val );
-                   var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
-                               &list, &list2 );
-                   i_count = list.p_list->i_count;
-                   if( i_count <= 1 )
-                   {
-                       vlc_object_release( p_input );
-                       break;
-                   }
-                   for( i = 0; i < i_count; i++ )
-                   {
-                       if( val.i_int == list.p_list->p_values[i].i_int )
-                           break;
-                   }
+                    var_Get( p_input, "audio-es", &val );
+                    var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
+                                &list, &list2 );
+                    i_count = list.p_list->i_count;
+                    if( i_count <= 1 )
+                    {
+                        var_FreeList( &list, &list2 );
+                        vlc_object_release( p_input );
+                        break;
+                    }
+                    for( i = 0; i < i_count; i++ )
+                    {
+                        if( val.i_int == list.p_list->p_values[i].i_int )
+                            break;
+                    }
                     /* value of audio-es was not in choices list */
                     if( i == i_count )
                     {
@@ -342,6 +343,7 @@ static void RunIntf( intf_thread_t *p_intf )
                     else
                         i++;
                     var_Set( p_input, "audio-es", list.p_list->p_values[i] );
+                    var_FreeList( &list, &list2 );
                     vlc_object_release( p_input );
                 }
                 break;
@@ -365,6 +367,7 @@ static void RunIntf( intf_thread_t *p_intf )
                     if( i_count <= 1 )
                     {
                         vlc_object_release( p_input );
+                        var_FreeList( &list, &list2 );
                         break;
                     }
                     for( i = 0; i < i_count; i++ )
@@ -386,6 +389,7 @@ static void RunIntf( intf_thread_t *p_intf )
                     else
                         i++;
                     var_Set( p_input, "spu-es", list.p_list->p_values[i] );
+                    var_FreeList( &list, &list2 );
                     vlc_object_release( p_input );
                 }
                 break;
index 7ecd11587904eee52ec32731c65c7694a9c92068..4447e1773110f0c2da20a22686216d6fbcfb181b 100644 (file)
@@ -207,13 +207,7 @@ static void Run( intf_thread_t *p_intf )
 
             ClearChannels( p_intf, p_vout );
             vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Quit" ) );
-            if( p_aout )
-                vlc_object_release( p_aout );
-            if( p_vout )
-                vlc_object_release( p_vout );
-            if( p_input )
-                vlc_object_release( p_input );
-            continue;
+            goto cleanup_and_continue;
         }
         /* Volume and audio actions */
         else if( i_action == ACTIONID_VOL_UP )
@@ -387,6 +381,7 @@ static void Run( intf_thread_t *p_intf )
                         _("Audio Device: %s"),
                         list2.p_list->p_values[i].psz_string);
             }
+            var_FreeList( &list, &list2 );
         }
         /* Input options */
         else if( p_input )
@@ -478,6 +473,7 @@ static void Run( intf_thread_t *p_intf )
                                      _("Audio track: %s"),
                                      list2.p_list->p_values[i].psz_string );
                 }
+                var_FreeList( &list, &list2 );
             }
             else if( i_action == ACTIONID_SUBTITLE_TRACK )
             {
@@ -492,7 +488,8 @@ static void Run( intf_thread_t *p_intf )
                 {
                     vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
                                      _("Subtitle track: %s"), _("N/A") );
-                    continue;
+                    var_FreeList( &list, &list2 );
+                    goto cleanup_and_continue;
                 }
                 for( i = 0; i < i_count; i++ )
                 {
@@ -516,6 +513,7 @@ static void Run( intf_thread_t *p_intf )
                 vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
                                  _("Subtitle track: %s"),
                                  list2.p_list->p_values[i].psz_string );
+                var_FreeList( &list, &list2 );
             }
             else if( i_action == ACTIONID_ASPECT_RATIO && p_vout )
             {
@@ -875,6 +873,7 @@ static void Run( intf_thread_t *p_intf )
                 }
             }
         }
+cleanup_and_continue:
         if( p_aout )
             vlc_object_release( p_aout );
         if( p_vout )