diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-19 18:44:15 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-19 17:50:21 +0000 |
commit | 800f4287193aa76e0735051a38cf226244a31e5c (patch) | |
tree | d7688dab3a250a5ab0ebe380601786175ebe5a4c /src | |
parent | 21e82bbbe316f582ee11c8996e24e402f9342606 (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.cpp | 6 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/inputartifactscanner.h | 2 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/qtmocscanner.cpp | 6 |
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; |