diff --git a/src/snabbdom.ts b/src/snabbdom.ts index ed7b524..9b6b44d 100644 --- a/src/snabbdom.ts +++ b/src/snabbdom.ts @@ -240,11 +240,13 @@ export function init(modules: Array>, domApi?: DOMAPI) { } } } - if (oldStartIdx > oldEndIdx) { - before = newCh[newEndIdx+1] == null ? null : newCh[newEndIdx+1].elm; - addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); - } else if (newStartIdx > newEndIdx) { - removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx); + if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) { + if (oldStartIdx > oldEndIdx) { + before = newCh[newEndIdx+1] == null ? null : newCh[newEndIdx+1].elm; + addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); + } else { + removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx); + } } }