Если добавить допустим два итема, потом удалить два итема, а потом пытаться воспроизвести баг, то магии его не будет в последующие разы :)
Короче это из-за гонки евентов, там когда удаляется единственный item из списка, текущий индекс как бы становится -1, но где-то он еще не успевает внутри поменяться пока полностью не отработает слот currentRowChanged, так как до этого прилетает событие фокуса от кнопки при setEnabled, и внутренней модели повторно прилетает опять индекс -1, а внутри все еще 0 индекс, по этому повторно и шлет сигнал.
Если setEnabled у кнопки в очередь событий поставить, через emit или invokeMethod, то магия исчезает )