xwayland: Call xwl_window_buffer_add_damage_region from damage_report
Before clearing the damage region. Otherwise the damage region from a Present flip may be ignored when replacing the window pixmap. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1314>
This commit is contained in:
parent
c1c5bf382e
commit
716805e3ad
|
@ -113,7 +113,7 @@ xwl_window_buffer_maybe_dispose(struct xwl_window_buffer *xwl_window_buffer)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
xwl_window_buffer_add_damage_region(struct xwl_window *xwl_window)
|
||||
{
|
||||
RegionPtr region = xwl_window_get_damage_region(xwl_window);
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
#include "xwayland-types.h"
|
||||
|
||||
void xwl_window_buffer_add_damage_region(struct xwl_window *xwl_window);
|
||||
void xwl_window_buffers_init(struct xwl_window *xwl_window);
|
||||
void xwl_window_buffers_dispose(struct xwl_window *xwl_window);
|
||||
void xwl_window_recycle_pixmap(struct xwl_window *xwl_window);
|
||||
|
|
|
@ -198,6 +198,7 @@ damage_report(DamagePtr pDamage, RegionPtr pRegion, void *data)
|
|||
/* This damage is from a Present flip, which already committed a new
|
||||
* buffer for the surface, so we don't need to do anything in response
|
||||
*/
|
||||
xwl_window_buffer_add_damage_region(xwl_window);
|
||||
RegionEmpty(DamageRegion(pDamage));
|
||||
xorg_list_del(&xwl_window->link_damage);
|
||||
xwl_window->present_flipped = FALSE;
|
||||
|
|
Loading…
Reference in New Issue