diff --git a/src/Miscellaneous/Index.coffee b/src/Miscellaneous/Index.coffee index e06236f2c..8de6fa1de 100644 --- a/src/Miscellaneous/Index.coffee +++ b/src/Miscellaneous/Index.coffee @@ -122,14 +122,14 @@ Index = $('.pagelist').hidden = Conf['Index Mode'] isnt 'paged' sort: (nodes) -> return nodes unless Conf['Filter'] - # Put the highlighted thread on top of the index + # Put the highlighted thread &
on top of the index # while keeping the original order they appear in. - tops = [] - for threadRoot in nodes by 2 when Get.threadFromRoot(threadRoot).isOnTop - tops.push threadRoot - for top, i in tops - arr = nodes.splice nodes.indexOf(top), 2 - nodes.splice i * 2, 0, arr... + i = offset = 0 + while threadRoot = nodes[i] + if Get.threadFromRoot(threadRoot).isOnTop + nodes.splice offset, 0, nodes.splice(i, 2)... + offset += 2 + i += 2 nodes collectDeadThreads: (liveThreads) ->