D26233: Clamp XdgShellClient::clientSize to surface size, not m_windowGeometry

David Edmundson noreply at phabricator.kde.org
Thu Dec 26 12:00:51 GMT 2019


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20191226/d54d1007/attachment.html>


More information about the kwin mailing list