[PATCH xserver] xwayland: avoid a crash with empty window pixmaps
Daniel Stone
daniel at fooishbar.org
Wed Jan 24 17:03:11 UTC 2018
Hi,
On 24 January 2018 at 16:17, Adam Jackson <ajax at nwnk.net> wrote:
> On Wed, 2018-01-24 at 11:36 +0100, Olivier Fourdan wrote:
>> So basically, just remove the “if
>> (RegionNotEmpty(DamageRegion(xwl_window->damage)))” would suffice?
>
> Worth a try anyway. I'm still just guessing at the root cause.
If it is the root cause, it certainly checks out:
- window was realized, redirected, damaged
- manual redirect removed (e.g. WM crashes or stops wanting to
present the window), pixmap destroyed (including damage)
- possible: window is unrealized, but the DamageNotEmpty() check
doesn't pass due to the region being uninit'ed (or, if the window
lives, it's not unrealized)
- block handler called
- oops
Deleting the check in unrealize definitely makes sense, but perhaps to
guard against this even happening in the first place, xwl could just
place a manual redirect of its own when the window is realized and
removed when unrealized?
Cheers,
Daniel
More information about the wayland-devel
mailing list