diff --git a/src/columns/ColProject.cpp b/src/columns/ColProject.cpp index f414ea3a0..bef8ec723 100644 --- a/src/columns/ColProject.cpp +++ b/src/columns/ColProject.cpp @@ -121,7 +121,9 @@ void ColumnProject::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } Variant v; e.evaluateInfixExpression (value, v); diff --git a/src/columns/ColRecur.cpp b/src/columns/ColRecur.cpp index 22623cdce..8168770ed 100644 --- a/src/columns/ColRecur.cpp +++ b/src/columns/ColRecur.cpp @@ -108,7 +108,9 @@ void ColumnRecur::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } e.evaluateInfixExpression (value, evaluatedValue); } diff --git a/src/columns/ColTags.cpp b/src/columns/ColTags.cpp index 16fea0e86..4680f4fed 100644 --- a/src/columns/ColTags.cpp +++ b/src/columns/ColTags.cpp @@ -162,7 +162,9 @@ void ColumnTags::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } Variant v; e.evaluateInfixExpression (value, v); diff --git a/src/columns/ColTypeDate.cpp b/src/columns/ColTypeDate.cpp index af8ea1e25..fc63f4c66 100644 --- a/src/columns/ColTypeDate.cpp +++ b/src/columns/ColTypeDate.cpp @@ -213,7 +213,9 @@ void ColumnTypeDate::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } e.evaluateInfixExpression (value, evaluatedValue); } diff --git a/src/columns/ColTypeDuration.cpp b/src/columns/ColTypeDuration.cpp index 126d7adc9..f305686e5 100644 --- a/src/columns/ColTypeDuration.cpp +++ b/src/columns/ColTypeDuration.cpp @@ -55,7 +55,9 @@ void ColumnTypeDuration::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } e.evaluateInfixExpression (value, evaluatedValue); } diff --git a/src/columns/ColTypeNumeric.cpp b/src/columns/ColTypeNumeric.cpp index 986470b4c..ea04891e7 100644 --- a/src/columns/ColTypeNumeric.cpp +++ b/src/columns/ColTypeNumeric.cpp @@ -55,7 +55,9 @@ void ColumnTypeNumeric::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } e.evaluateInfixExpression (value, evaluatedValue); } diff --git a/src/columns/ColTypeString.cpp b/src/columns/ColTypeString.cpp index 89552ce14..8f46abb1f 100644 --- a/src/columns/ColTypeString.cpp +++ b/src/columns/ColTypeString.cpp @@ -67,7 +67,9 @@ void ColumnTypeString::modify (Task& task, const std::string& value) { Eval e; e.addSource (domSource); - contextTask = &task; + if (!task.is_empty ()) { + contextTask = &task; + } Variant v; e.evaluateInfixExpression (value, v);