Hi Adam,

On Tue, Jan 23, 2018 at 6:41 PM, Adam Jackson <a...@nwnk.net> wrote:

>
> Map / draw / unmap without hitting BlockHandler? I think
> xwl_unrealize_window() might be broken for that case:
>
>     /* ... */
>     wl_surface_destroy(xwl_window->surface);
>     if (RegionNotEmpty(DamageRegion(xwl_window->damage)))
>         xorg_list_del(&xwl_window->link_damage);
>     DamageUnregister(xwl_window->damage);
>     DamageDestroy(xwl_window->damage);
>     /* ... */
>
> If (for whatever reason) the damage region wasn't empty, we'd never
>

You mean “was empty” here, right, or do I misunderstand?

(we unlink if RegionNotEmpty() so we don't unlink if the region is empty)


> unlink this window from the dirty list. Should probably just unlink it
> unconditionally. If this is indeed what's happening, then the window
> being updated in xwl_window_post_damage() would have ->mapped = 0, and
> would be not the root window itself.
>

So basically, just remove the  “if
(RegionNotEmpty(DamageRegion(xwl_window->damage)))”
would suffice?

Cheers,
Olivier
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to