https://bugs.kde.org/show_bug.cgi?id=382698

David Edmundson <k...@davidedmundson.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
      Latest Commit|                            |https://commits.kde.org/kwi
                   |                            |n/e327cce4bc92aa028c7aefcec
                   |                            |13f6239b08aa5bf
         Resolution|---                         |FIXED

--- Comment #5 from David Edmundson <k...@davidedmundson.co.uk> ---
Git commit e327cce4bc92aa028c7aefcec13f6239b08aa5bf by David Edmundson.
Committed on 05/10/2018 at 15:35.
Pushed by davidedmundson into branch 'master'.

[wayland] Asyncronously update maximise flags

Summary:
A window maximising is an async operation. We work out what size we want
the client to be, then request the client to update. The window isn't
really maximised until we get that new buffer with the new size.

This patch splits the requested, pending and current state, updating as
appropriate.

Things are a bit complex with things like borders. Technically we
shouldn't update them till we get a response, but we also need to have
the correct geometry of the full size window in our request. For now
they behave as before, updating when we request the change.

X code is untouched.

This hopefully fixes maximise animations on wayland as now we update the
geometry before emitting maximisedChanged.

Test Plan:
Maximised a window with the button and double clicking title bar.

I get only the following events on maximise/restore:
19:51:39.156 KWin::EffectsHandlerImpl::slotGeometryShapeChanged geometry
shape changed QRect(47,24 640x509) QRect(0,0 716x573)
19:51:39.157 KWin::EffectsHandlerImpl::slotClientMaximized slot client
maximised true true

19:51:40.522 KWin::EffectsHandlerImpl::slotGeometryShapeChanged geometry
shape changed QRect(0,0 716x573) QRect(47,24 640x509)
19:51:40.522 KWin::EffectsHandlerImpl::slotClientMaximized slot client
maximised false false

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: romangg, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D15150

M  +9    -2    autotests/integration/shell_client_test.cpp
M  +36   -16   shell_client.cpp
M  +8    -1    shell_client.h

https://commits.kde.org/kwin/e327cce4bc92aa028c7aefcec13f6239b08aa5bf

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to