Adam Jackson <a...@redhat.com> writes:

> Okay, that makes sense. I'm still a little wary of it, because I don't
> trust myself to remember the BlockHandler wrapping order and therefore
> worry that actions triggered in ephyrXcbHandleEvent might not be safe
> to do while we're halfway unwound. (eg, would an expose event trigger
> some drawing that wouldn't flush through promptly because shadow has
> already synced with the screen in its BlockHandler.)

yeah, everything but configure notify would be fine; even expose events
are fine -- they go through the same path as damage, which works. But,
configure seems scary, so I just fixed it. Could also just pend the
configure notify event for later processing, but I didn't see any
benefit in making it more complicated.

> One possibility might be:
>
>     if (xcb_peek_queued_event(conn) != 0)
>         AdjustWaitForDelay(timeout, 0);

That's effectively what I did, by adding a single-event queue inside
ephyr to hold any fetched event. Patches on the list; I even managed to
get ephyr resize working with glamor now.

-- 
-keith

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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