D26233: Clamp XdgShellClient::clientSize to surface size, not m_windowGeometry
David Edmundson <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
davidedmundson created this revision. davidedmundson added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. davidedmundson requested review of this revision. REVISION SUMMARY It's perfectly legitimate to call setWindowSize before a buffer is attached. This seems to have happen with plasma surfaces that commit when attaching a shadow, but technically could happen anywhere. By clamping to the applied surface here, we get the wrong window size cached and not re-evaluated when a surface is eventually applied. This leaves us thinking the windowsize is empty but with a massive margin which actually holds the content. We want all internal usages of xdgshellclient to use the window geometry set. Only the wider kwin part needs to care about clamping it to the surface. This fixes popup placement in the plasma panel BUG: 415317 As well as ghost notification popups with no background contrast that you can't interact with. TEST PLAN Ran kwin REPOSITORY R108 KWin BRANCH master REVISION DETAIL https://phabricator.kde.org/D26233 AFFECTED FILES xdgshellclient.cpp To: davidedmundson, #kwin Cc: kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart