diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-08-21 10:17:27 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-08-21 08:59:21 +0000 |
commit | dda87877ea6351a7b7902bfc2b48d99867a410ab (patch) | |
tree | 278589aceb85a9ab35ba933f63adc18ddc3719c3 /src/lib/corelib/buildgraph/transformer.cpp | |
parent | 22c93d768b01936a341dea50b85a3a3d7484da72 (diff) |
Fix edge case in change tracking
Under certain circumstances, transformers could lose the information
about properties requested by their commands. Make sure this doesn't
happen anymore.
Change-Id: Ib224cd8425760543ae805875024e7886f67825fe
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/transformer.cpp')
-rw-r--r-- | src/lib/corelib/buildgraph/transformer.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/transformer.cpp b/src/lib/corelib/buildgraph/transformer.cpp index 0e5b4a084..b6e02e708 100644 --- a/src/lib/corelib/buildgraph/transformer.cpp +++ b/src/lib/corelib/buildgraph/transformer.cpp @@ -260,6 +260,17 @@ void Transformer::createCommands(ScriptEngine *engine, const ScriptFunctionConst } } +void Transformer::rescueChangeTrackingData(const TransformerConstPtr &other) +{ + if (!other) + return; + propertiesRequestedInPrepareScript = other->propertiesRequestedInPrepareScript; + propertiesRequestedInCommands = other->propertiesRequestedInCommands; + propertiesRequestedFromArtifactInPrepareScript + = other->propertiesRequestedFromArtifactInPrepareScript; + propertiesRequestedFromArtifactInCommands = other->propertiesRequestedFromArtifactInCommands; +} + void Transformer::load(PersistentPool &pool) { pool.load(rule); |