diff options
author | Eike Ziller <[email protected]> | 2019-10-28 11:48:31 +0100 |
---|---|---|
committer | Eike Ziller <[email protected]> | 2019-10-28 11:48:31 +0100 |
commit | bea3a8fa6fd53cf1e85aa30cc45d1e62464c985d (patch) | |
tree | c9755caff5786475c51c65cfec939ec90ab6ccd2 /src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp | |
parent | 3c556096caf17cf6b09a91ebf0d262d0be3f65a1 (diff) | |
parent | 3f74b04c3072b2beb23ecdd108894da4057830fc (diff) |
Merge remote-tracking branch 'origin/4.11'
Change-Id: I66389d88d5a60c6c86547b93cca945af42aa807b
Diffstat (limited to 'src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp')
-rw-r--r-- | src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp index 49f896ce09f..c4c9f8f376d 100644 --- a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp +++ b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp @@ -41,24 +41,26 @@ static QStringList detectedBrowsers(ProjectExplorer::Target *target) { static QStringList result; if (result.isEmpty()) { - const Utils::Environment environment = target->activeBuildConfiguration()->environment(); - const Utils::FilePath emrunPath = environment.searchInPath("emrun"); + if (auto bc = target->activeBuildConfiguration()) { + const Utils::Environment environment = bc->environment(); + const Utils::FilePath emrunPath = environment.searchInPath("emrun"); - QProcess browserLister; - browserLister.setProcessEnvironment(environment.toProcessEnvironment()); - browserLister.setProgram(emrunPath.toString()); - browserLister.setArguments({"--list_browsers"}); - browserLister.start(QIODevice::ReadOnly); + QProcess browserLister; + browserLister.setProcessEnvironment(environment.toProcessEnvironment()); + browserLister.setProgram(emrunPath.toString()); + browserLister.setArguments({"--list_browsers"}); + browserLister.start(QIODevice::ReadOnly); - if (browserLister.waitForFinished()) { - const QByteArray output = browserLister.readAllStandardOutput(); - QTextStream ts(output); - QString line; - const QRegularExpression regExp(" - (.*):.*"); - while (ts.readLineInto(&line)) { - const QRegularExpressionMatch match = regExp.match(line); - if (match.hasMatch()) - result << match.captured(1); + if (browserLister.waitForFinished()) { + const QByteArray output = browserLister.readAllStandardOutput(); + QTextStream ts(output); + QString line; + const QRegularExpression regExp(" - (.*):.*"); + while (ts.readLineInto(&line)) { + const QRegularExpressionMatch match = regExp.match(line); + if (match.hasMatch()) + result << match.captured(1); + } } } } @@ -68,7 +70,8 @@ static QStringList detectedBrowsers(ProjectExplorer::Target *target) WebBrowserSelectionAspect::WebBrowserSelectionAspect(ProjectExplorer::Target *target) : m_availableBrowsers(detectedBrowsers(target)) { - m_currentBrowser = m_availableBrowsers.first(); + if (!m_availableBrowsers.isEmpty()) + m_currentBrowser = m_availableBrowsers.first(); setDisplayName(tr("Web browser")); setId("WebBrowserAspect"); setSettingsKey("RunConfiguration.WebBrowser"); @@ -91,7 +94,8 @@ void WebBrowserSelectionAspect::addToLayout(ProjectExplorer::LayoutBuilder &buil void WebBrowserSelectionAspect::fromMap(const QVariantMap &map) { - m_currentBrowser = map.value(BROWSER_KEY, m_availableBrowsers.first()).toString(); + if (!m_availableBrowsers.isEmpty()) + m_currentBrowser = map.value(BROWSER_KEY, m_availableBrowsers.first()).toString(); } void WebBrowserSelectionAspect::toMap(QVariantMap &map) const |