OSDN Git Service

QMakeStep: Show error output if qmlsdebuggerlib build fails
authorKai Koehne <kai.koehne@nokia.com>
Thu, 7 Apr 2011 10:46:10 +0000 (12:46 +0200)
committerKai Koehne <kai.koehne@nokia.com>
Thu, 7 Apr 2011 10:48:14 +0000 (12:48 +0200)
Reviewed-by: dt
src/plugins/qt4projectmanager/qmakestep.cpp

index 520213d..e9c5c3d 100644 (file)
@@ -42,6 +42,7 @@
 #include "qt4target.h"
 #include "qtversionmanager.h"
 #include "debugginghelperbuildtask.h"
+#include "ui_showbuildlog.h"
 
 #include <projectexplorer/buildsteplist.h>
 #include <projectexplorer/toolchain.h>
@@ -556,12 +557,27 @@ void QMakeStepConfigWidget::buildQmlDebuggingHelper()
 
 void QMakeStepConfigWidget::debuggingHelperBuildFinished(int qtVersionId, const QString &output)
 {
-    m_step->qt4BuildConfiguration()->qtVersion()->invalidateCache();
-    m_ui.qmlDebuggingLibraryCheckBox->setChecked(m_step->linkQmlDebuggingLibrary());
-    m_ui.qmlDebuggingLibraryCheckBox->setEnabled(m_step->isQmlDebuggingLibrarySupported());
-    updateSummaryLabel();
-    updateEffectiveQMakeCall();
-    updateQmlDebuggingWarningsLabel();
+    QtVersion *version = QtVersionManager::instance()->version(qtVersionId);
+    if (!version) // qt version got deleted in between
+        return;
+    version->invalidateCache();
+
+    if (version == m_step->qt4BuildConfiguration()->qtVersion()) {
+        m_ui.qmlDebuggingLibraryCheckBox->setChecked(m_step->linkQmlDebuggingLibrary());
+        m_ui.qmlDebuggingLibraryCheckBox->setEnabled(m_step->isQmlDebuggingLibrarySupported());
+        updateSummaryLabel();
+        updateEffectiveQMakeCall();
+        updateQmlDebuggingWarningsLabel();
+    }
+
+    if (!version->hasQmlDebuggingLibrary()) {
+        Ui::ShowBuildLog ui;
+        QDialog dialog;
+        ui.setupUi(&dialog);
+
+        ui.log->setPlainText(output);
+        dialog.exec();
+    }
 }
 
 void QMakeStepConfigWidget::updateSummaryLabel()