main: Fix a corner case in crossing events
We don't want to set a misleading descendent in the case that we don't have a shared ancestor at all (because the old and the new targets are on different toplevels).
We don't want to set a misleading descendent in the case that we don't have a shared ancestor at all (because the old and the new targets are on different toplevels).