]> git.sesse.net Git - vlc/commitdiff
CLEAN QT4 fix some memory leaks. Reorgazine code
authorbasos g <noxelia 4t gmail d0t c0m>
Mon, 6 Apr 2009 15:31:26 +0000 (15:31 +0000)
committerRémi Duraffort <ivoire@videolan.org>
Tue, 28 Apr 2009 11:08:43 +0000 (13:08 +0200)
(hacked a bit)

Signed-off-by: Rémi Duraffort <ivoire@videolan.org>
modules/gui/qt4/components/open_panels.cpp

index cd6e0aba1fc427bb1168974f3a0cf87d60a9452b..0548406b719e1b1d2da0b92eda0716f45a9f0d56 100644 (file)
@@ -1294,7 +1294,8 @@ void CaptureOpenPanel::advancedDialog()
         module_config_t *p_item = p_config + n;
         ConfigControl *config = ConfigControl::createControl(
                         VLC_OBJECT( p_intf ), p_item, advFrame, gLayout, n );
-        controls.append( config );
+        if ( config )
+            controls.append( config );
     }
 
     /* Button stuffs */
@@ -1317,11 +1318,6 @@ void CaptureOpenPanel::advancedDialog()
         for( int i = 0; i < controls.size(); i++ )
         {
             ConfigControl *control = controls[i];
-            if( !control )
-            {
-                msg_Dbg( p_intf, "This shouldn't happen, please report" );
-                continue;
-            }
 
             tempMRL += (i ? " :" : ":");
 
@@ -1351,6 +1347,11 @@ void CaptureOpenPanel::advancedDialog()
         updateMRL();
         msg_Dbg( p_intf, "%s", qtu( advMRL ) );
     }
+    for( int i = 0; i < controls.size(); i++ )
+    {
+        ConfigControl *control = controls[i];
+        delete control ;
+    }
     delete adv;
     module_config_free( p_config );
     module_release (p_module);