]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs_provider.cpp
Fix a race condition : the user progress dialog wasn't created sometime with the...
[vlc] / modules / gui / qt4 / dialogs_provider.cpp
index c2b7bb2b0b926830f32f56879cd52a0455663b9f..ceb0b629b5382b98b74633479d7733c4ed5b9f1a 100644 (file)
@@ -79,7 +79,9 @@ DialogsProvider::~DialogsProvider()
     ExtendedDialog::killInstance();
     BookmarksDialog::killInstance();
     HelpDialog::killInstance();
+#ifdef UPDATE_CHECK
     UpdateDialog::killInstance();
+#endif
 
     fixed_timer->stop();
 }
@@ -434,7 +436,7 @@ void DialogsProvider::streamingDialog( QWidget *parent, QString mrl,
 
     if( s->exec() == QDialog::Accepted )
     {
-        msg_Err( p_intf, "Sout mrl %s", qta( s->getMrl() ) );
+        msg_Dbg( p_intf, "Sout mrl %s", qta( s->getMrl() ) );
         /* Just do it */
         int i_len = strlen( qtu( s->getMrl() ) ) + 10;
         char *psz_option = (char*)malloc( i_len );
@@ -499,6 +501,17 @@ void DialogsProvider::doInteraction( intf_dialog_args_t *p_arg )
         qdialog = (InteractionDialog*)(p_dialog->p_private);
         if( qdialog )
             qdialog->update();
+        else
+        {
+            /* The INTERACT_NEW message was forgotten
+               so we must create the dialog and update it*/
+            qdialog = new InteractionDialog( p_intf, p_dialog );
+            p_dialog->p_private = (void*)qdialog;
+            if( !(p_dialog->i_status == ANSWERED_DIALOG) )
+                qdialog->show();
+            if( qdialog )
+                qdialog->update();
+        }
         break;
     case INTERACT_HIDE:
         qdialog = (InteractionDialog*)(p_dialog->p_private);
@@ -514,13 +527,3 @@ void DialogsProvider::doInteraction( intf_dialog_args_t *p_arg )
         break;
     }
 }
-
-void DialogsProvider::switchToSkins()
-{
-    var_SetString( p_intf, "intf-switch", "skins2" );
-}
-
-void DialogsProvider::switchToWx()
-{
-    var_SetString( p_intf, "intf-switch", "wxwidgets" );
-}