D18583: [WIP] Init ShellClient only when commited to the buffer

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
  Everything on the wl_surface is double buffered.
  
  When we create an XdgShell toplevel or popup we shouldn't treat it as
  attached until it's committed to the surface.
  
  A client should commit the surface after it's sent it's initial state of
  the Xdg topLevel; minimumSize, title, app_id, etc.
  
  By delaying init we will have the intial state correct to apply rules
  and more correct geometry and everything is more atomic.
  
  It's WIP because it breaks a lot of (arguably incorrect) unit tests -
  and because I need to go through init() and make sure we load the
  initial state of everything as well as connecting the signals.
  
  Uploading now because zzag has a patch pending for applying rules
  which relies on correct initial state.
  
  Arguably this applies to WlShellSurface too, but I've left it unchanged
  as it's deprecated and hard to verify real client behaviour.

TEST PLAN
  WIP

REPOSITORY
  R108 KWin

BRANCH
  origin-master (branched from master)

REVISION DETAIL
  https://phabricator.kde.org/D18583

AFFECTED FILES
  shell_client.cpp

To: davidedmundson, #kwin
Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.