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
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 17194 Build 17212: arc lint + arc unit
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.