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
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel