don't check again if focus_widget is null, as it starts to loop indefinitely for some reason