avoid pointless repaints