gdk_display_get_monitor_at_surface returns a non-null monitor after leave-monitor signal in wayland
I think this is because of the fallback code. Before the leave-monitor signal is emitted the output is removed from the list, but when the wayland override returns NULL, the fallback code is run. Maybe we should return whatever the platform returns and only run the fallback when the platform doesn't have an implementation. It's weird that calling gdk_display_get_monitor_at_surface() on leave-monitor signal callback returns the monitor instead of NULL.