mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
meta-wayland: intersect the damage region with the window size before applying
According to the wayland documentation, damage outside the window size is ignored. This happened with xwayland+wlshm (causing a GL error when calling TexSubImage2D), probably due to not resizing the buffer until we receive the corresponding X event. Might also be an off-by-one in xwayland, as the window size did not actually change. Note: we might want to take the configure_notify path instead, and keep the GL/clutter size consistent with wayland rather than X, because in the end that's what matters for events and composition.
This commit is contained in:
parent
cee22daf55
commit
9bdcc9c418
@ -210,6 +210,16 @@ surface_process_damage (MetaWaylandSurface *surface,
|
|||||||
{
|
{
|
||||||
MetaWindowActor *window_actor =
|
MetaWindowActor *window_actor =
|
||||||
META_WINDOW_ACTOR (meta_window_get_compositor_private (surface->window));
|
META_WINDOW_ACTOR (meta_window_get_compositor_private (surface->window));
|
||||||
|
MetaRectangle rect;
|
||||||
|
cairo_rectangle_int_t cairo_rect;
|
||||||
|
|
||||||
|
meta_window_get_input_rect (surface->window, &rect);
|
||||||
|
cairo_rect.x = rect.x;
|
||||||
|
cairo_rect.y = rect.y;
|
||||||
|
cairo_rect.width = rect.width;
|
||||||
|
cairo_rect.height = rect.height;
|
||||||
|
|
||||||
|
cairo_region_intersect_rectangle (region, &cairo_rect);
|
||||||
|
|
||||||
if (window_actor)
|
if (window_actor)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user