When an output is added or removed, the position of the other
outputs can also change, resulting in windows moving between them.
We need to redraw all the outputs (not just the new one) to prevent
stale/corrupted screen contents.
struct output *output = wl_container_of(listener, output, destroy);
wl_list_remove(&output->link);
wl_list_remove(&output->destroy.link);
+
+ /* Windows may have moved; redraw all outputs */
+ damage_all_outputs(output->server);
}
static void
wlr_xcursor_manager_set_cursor_image(server->seat.xcursor_manager,
XCURSOR_DEFAULT, server->seat.cursor);
- wlr_output_schedule_frame(wlr_output);
+ /* Windows may have moved; redraw all outputs */
+ damage_all_outputs(server);
}
void