]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs_provider.cpp
qt4: fix memleak.
[vlc] / modules / gui / qt4 / dialogs_provider.cpp
index f4390ded39f59a907af9fb026f3bd8546291ab0c..fb9dd8b11d4fc667abd38d0d2b7f0b9eff49fa94 100644 (file)
@@ -172,7 +172,8 @@ void DialogsProvider::playlistDialog()
 
 void DialogsProvider::prefsDialog()
 {
-    PrefsDialog::getInstance( p_intf )->toggleVisible();
+    PrefsDialog *p = new PrefsDialog( (QWidget *)p_intf->p_sys->p_mi, p_intf );
+    p->toggleVisible();
 }
 
 void DialogsProvider::extendedDialog()
@@ -576,7 +577,7 @@ void DialogsProvider::streamingDialog( QWidget *parent,
     /* Stream */
     if( !b_transcode_only )
     {
-        SoutDialog *s = SoutDialog::getInstance( parent, p_intf, mrl );
+        SoutDialog *s = new SoutDialog( parent, p_intf, mrl );
         if( s->exec() == QDialog::Accepted )
         {
             psz_soutoption = strdup( qtu( s->getMrl() ) );
@@ -610,7 +611,7 @@ void DialogsProvider::streamingDialog( QWidget *parent,
         /* Add normal Options */
         for( int j = 0; j < options.size(); j++ )
         {
-            QString qs = options[j].trimmed();
+            QString qs = colon_unescape( options[j] );
             if( !qs.isEmpty() )
             {
                 input_item_AddOption( p_input, qtu( qs ),
@@ -630,6 +631,7 @@ void DialogsProvider::streamingDialog( QWidget *parent,
 
         RecentsMRL::getInstance( p_intf )->addRecent( mrl );
     }
+    free( psz_soutoption );
 }
 
 void DialogsProvider::openAndStreamingDialogs()