summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qcache.h')
-rw-r--r--src/corelib/tools/qcache.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/tools/qcache.h b/src/corelib/tools/qcache.h
index 41cf9abc46..8a341c8555 100644
--- a/src/corelib/tools/qcache.h
+++ b/src/corelib/tools/qcache.h
@@ -245,8 +245,9 @@ public:
auto result = d.findOrInsert(key);
Node *n = result.it.node();
if (result.initialized) {
- cost -= n->value.cost;
+ auto prevCost = n->value.cost;
result.it.node()->emplace(object, cost);
+ cost -= prevCost;
relink(key);
} else {
Node::createInPlace(n, key, object, cost);