forked from lix-project/lix
EvalCache: Fix caching of strings
This was broken in 50f13b06fb
. Once
again it turns out that putting a bool in a std::variant is a bad
idea, since pointers get silently cast to them...
This commit is contained in:
parent
14652da432
commit
94a043ff3b
|
@ -391,7 +391,8 @@ Value & AttrCursor::forceValue()
|
||||||
|
|
||||||
if (root->db && (!cachedValue || std::get_if<placeholder_t>(&cachedValue->second))) {
|
if (root->db && (!cachedValue || std::get_if<placeholder_t>(&cachedValue->second))) {
|
||||||
if (v.type == tString)
|
if (v.type == tString)
|
||||||
cachedValue = {root->db->setString(getKey(), v.string.s, v.string.context), v.string.s};
|
cachedValue = {root->db->setString(getKey(), v.string.s, v.string.context),
|
||||||
|
string_t{v.string.s, {}}};
|
||||||
else if (v.type == tPath)
|
else if (v.type == tPath)
|
||||||
cachedValue = {root->db->setString(getKey(), v.path), v.path};
|
cachedValue = {root->db->setString(getKey(), v.path), v.path};
|
||||||
else if (v.type == tBool)
|
else if (v.type == tBool)
|
||||||
|
|
Loading…
Reference in a new issue