added logic to changedisplay to prevent it restarting a screen if its currently active