diff options
Diffstat (limited to 'result/result.cpp')
| -rw-r--r-- | result/result.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/result/result.cpp b/result/result.cpp index feede47..4c7275e 100644 --- a/result/result.cpp +++ b/result/result.cpp @@ -38,6 +38,7 @@ Result* Result::getPrevious() void Result::setPrevious(Result* p) { + Q_ASSERT(p != this); m_previous = p; } @@ -55,12 +56,15 @@ bool Result::hasResultOfType(RESULT_TYPE type) const } void Result::generateDotTree(QString& s) { - s.append(toString(true)); - s.append(";\n"); + auto str = toString(true); + if(s.contains(str)) + return; + s.append(str); + s.append(";\n"); if(nullptr!=m_previous) { - s.append(toString(false)); + s.append(toString(false)); s.append(" -> "); s.append(m_previous->toString(false)); s.append("[label=\"previousResult\"]\n"); @@ -68,9 +72,9 @@ void Result::generateDotTree(QString& s) } else { - s.append(toString(false)); + s.append(toString(false)); s.append(" -> "); - s.append("nullptr"); + s.append("nullptr"); s.append(" [label=\"previousResult\", shape=\"box\"];\n"); } |