xwayland/window: Do not double add window to damage list

The window might be retained in the damage list after
`xwl_screen_post_damage` in certain conditions. This means we need to
check if the window is already in the list to avoid adding the same
window twice which will lead to list corruption resulting in server freeze
in `xwl_screen_post_damage`.

Signed-off-by: Minh Phan <phanquangminh217@gmail.com>
This commit is contained in:
Minh Phan 2023-02-05 14:38:32 +07:00 committed by Olivier Fourdan
parent e196535abb
commit ba644a64a4

View File

@ -179,7 +179,8 @@ damage_report(DamagePtr pDamage, RegionPtr pRegion, void *data)
}
#endif
xorg_list_add(&xwl_window->link_damage, &xwl_screen->damage_window_list);
if (xorg_list_is_empty(&xwl_window->link_damage))
xorg_list_add(&xwl_window->link_damage, &xwl_screen->damage_window_list);
}
static void