Move unrelated code out of XdgShellClient::addDamage() into a separate
method.
Details
- Reviewers
- None
- Group Reviewers
KWin - Commits
- R108:84de8d135d58: [wayland] Process pending state and map the client on commit
Diff Detail
- Repository
- R108 KWin
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Heh, I wasn't fully done reviewing this - there's some very big changes in the order events are processed which might have subtle nuances.
My biggest concern was that we're now signalling damages before we've mapped the window, which is a bit weird. Fortunately EffectsHandlerImpl::slotWindowDamaged has a guard already for some obscure teardown case and that seems to be the only user.
This also somewhat goes against the API SurfaceInterface is trying to go for, which abstracts the double buffered API into a declarative set of properties. We're going to end up mixing two different styles as to whose responsibility it is to handle the atomic setting of everything.
I see why you've done it, and using damage was awful, but I think we need to be careful.
Anyway, reviewed now. Belated ship it.
Long story short: This is not going to work with xdg-shell because of the way geometry handling should be done.