When a new view has just been created (i.e. we're running the
kiwmi:on( "view", ... callback ), that window can be in a weird
position, off all the existing outputs. Because the code for getting
the active output asks for the output at that window's position, it can
get back NULL and then segfault when trying to return wlr_output->data.
Now, if there's no output at the window's position, the code just moves
on to look at the cursor.
When a new view has just been created (i.e. we're running the kiwmi:on( "view", ... callback ), that window can be in a weird position, off all the existing outputs. Because the code for getting the active output asks for the output at that window's position, it can get back NULL and then segfault when trying to return wlr_output->data.
Now, if there's no output at the window's position, the code just moves on to look at the cursor.