aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/compiler/qv4ssa.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp
index 44c93df4c9..594c38d109 100644
--- a/src/qml/compiler/qv4ssa.cpp
+++ b/src/qml/compiler/qv4ssa.cpp
@@ -3705,9 +3705,12 @@ void LifeTimeInterval::dump(QTextStream &out) const {
}
bool LifeTimeInterval::lessThan(const LifeTimeInterval &r1, const LifeTimeInterval &r2) {
- if (r1._ranges.first().start == r2._ranges.first().start)
- return r1._ranges.last().end < r2._ranges.last().end;
- else
+ if (r1._ranges.first().start == r2._ranges.first().start) {
+ if (r1.isSplitFromInterval() == r2.isSplitFromInterval())
+ return r1._ranges.last().end < r2._ranges.last().end;
+ else
+ return r1.isSplitFromInterval();
+ } else
return r1._ranges.first().start < r2._ranges.first().start;
}