The "selection-changed" signal is emitted whenever there is a change in the list's selection property, regardless of whether that change empties the array.
As there is no way to track back which particular item has been selected or unselected, you should use the "select-child" if you need that piece of information.
Callback function