]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix infinite wait on error when restore started
authorKern Sibbald <kern@sibbald.com>
Sun, 14 Feb 2010 17:24:39 +0000 (18:24 +0100)
committerKern Sibbald <kern@sibbald.com>
Sun, 14 Feb 2010 17:26:18 +0000 (18:26 +0100)
bacula/src/qt-console/bcomm/dircomm.cpp

index db29c475cf856855298b0822d433b697ab704665..8d75a7a48beefa4e7e04337a866d669fceef7af9 100644 (file)
@@ -333,9 +333,11 @@ int DirComm::read()
          continue;
       case BNET_MAIN_PROMPT:
          if (mainWin->m_commDebug) Pmsg1(000, "conn %i MAIN PROMPT\n", m_conn);
-         m_at_prompt = true;
-         m_at_main_prompt = true;
-         mainWin->set_status(_("At main prompt waiting for input ..."));
+         if (!m_at_prompt && ! m_at_main_prompt) {
+            m_at_prompt = true;
+            m_at_main_prompt = true;
+            mainWin->set_status(_("At main prompt waiting for input ..."));
+         }
          break;
       case BNET_PROMPT:
          if (mainWin->m_commDebug) Pmsg2(000, "conn %i PROMPT m_in_select %i\n", m_conn, m_in_select);
@@ -392,6 +394,8 @@ int DirComm::read()
          stat = sock_read();          /* get the message */
          m_console->display_text(msg());
          QMessageBox::critical(m_console, "Error", msg(), QMessageBox::Ok);
+         m_console->beginNewCommand(m_conn);
+         mainWin->waitExit();
          break;
       case BNET_WARNING_MSG:
          if (mainWin->m_commDebug) Pmsg1(000, "conn %i WARNING MSG\n", m_conn);