I think I understand what's happening. ExtJS devs probably intended to only suppress select en deselect events with suppressEvent=true. I _thought_ it would also suppress selectionchange event, but that just probably was never the intention of the ExtJS devs.

So, this might by not a bug, but ambiguous at least. However, if you wish to _also_ suppress the selectionchange event, use the override as described above.

(Note that deselectAll also needs the same in && !suppressEvent in the last line if you wish to suppress the selectionchange there)