aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-12-19 18:44:15 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2016-12-19 17:50:21 +0000
commit800f4287193aa76e0735051a38cf226244a31e5c (patch)
treed7688dab3a250a5ab0ebe380601786175ebe5a4c /src
parent21e82bbbe316f582ee11c8996e24e402f9342606 (diff)
Artifact scanning: Do not store pointers to temporary data
Change-Id: I4f1fddd578c94318c0d2a0465221d8ce557d5e91 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/buildgraph/inputartifactscanner.cpp6
-rw-r--r--src/lib/corelib/buildgraph/inputartifactscanner.h2
-rw-r--r--src/lib/corelib/buildgraph/qtmocscanner.cpp6
3 files changed, 7 insertions, 7 deletions
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
index 882b9627c..cdf38b247 100644
--- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp
+++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
@@ -168,8 +168,8 @@ void InputArtifactScanner::scanForFileDependencies(Artifact *inputArtifact)
const QSet<DependencyScanner *> scanners = scannersForArtifact(inputArtifact);
if (scanners.isEmpty())
return;
- m_fileTagsForScanner = inputArtifact->fileTags().toStringList().join(QLatin1Char(','))
- .toLatin1().constData();
+ m_fileTagsForScanner
+ = inputArtifact->fileTags().toStringList().join(QLatin1Char(',')).toLatin1();
while (!filesToScan.isEmpty()) {
FileResourceBase *fileToBeScanned = filesToScan.takeFirst();
const QString &filePathToBeScanned = fileToBeScanned->filePath();
@@ -363,7 +363,7 @@ void InputArtifactScanner::scanWithScannerPlugin(DependencyScanner *scanner,
ScanResultCache::Result *scanResult)
{
const QStringList &dependencies
- = scanner->collectDependencies(fileToBeScanned, m_fileTagsForScanner);
+ = scanner->collectDependencies(fileToBeScanned, m_fileTagsForScanner.constData());
for (const QString &s : dependencies)
scanResult->deps += ScanResultCache::Dependency(s);
scanResult->valid = true;
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.h b/src/lib/corelib/buildgraph/inputartifactscanner.h
index 39304879c..ec56f5f9a 100644
--- a/src/lib/corelib/buildgraph/inputartifactscanner.h
+++ b/src/lib/corelib/buildgraph/inputartifactscanner.h
@@ -145,7 +145,7 @@ private:
Artifact * const m_artifact;
InputArtifactScannerContext *const m_context;
- const char *m_fileTagsForScanner;
+ QByteArray m_fileTagsForScanner;
bool m_newDependencyAdded;
Logger m_logger;
};
diff --git a/src/lib/corelib/buildgraph/qtmocscanner.cpp b/src/lib/corelib/buildgraph/qtmocscanner.cpp
index fc0e54d77..e5d5457e6 100644
--- a/src/lib/corelib/buildgraph/qtmocscanner.cpp
+++ b/src/lib/corelib/buildgraph/qtmocscanner.cpp
@@ -92,9 +92,9 @@ static ScanResultCache::Result runScanner(ScannerPlugin *scanner, const Artifact
ScanResultCache::Result scanResult = scanResultCache->value(scanner, filepath);
if (!scanResult.valid) {
scanResult.valid = true;
- const char * const tagsForScanner
- = artifact->fileTags().toStringList().join(QLatin1Char(',')).toLatin1().constData();
- void *opaq = scanner->open(filepath.utf16(), tagsForScanner,
+ const QByteArray tagsForScanner
+ = artifact->fileTags().toStringList().join(QLatin1Char(',')).toLatin1();
+ void *opaq = scanner->open(filepath.utf16(), tagsForScanner.constData(),
ScanForDependenciesFlag | ScanForFileTagsFlag);
if (!opaq || !scanner->additionalFileTags)
return scanResult;