D20397: [wayland] Queue XDG configure requests when resizing toplevel interactively

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
  When resizing a window particularly from the left side, we need to
  co-ordinate moving the window with when we get the resized buffer.
  
  The code in AbstractClient::handleMoveResize checks
  isWaitingForResizSync to make sure we never send more than one resize
  request at a time to keep that in sync.
  
  This makes sense on X and wl_shell_surface, but not on XDGShell where we
  can track which resize events have been handled by the client.
  
  ShellClient already keeps a stack of our pending configure requests and
  handles everything appropriately, we don't need to block.
  
  This results in a smoother dragging experience and avoids a potential
  deadlock currently seen when a client may not reply to a no-op configure
  request.
  
  BUG: 403376

TEST PLAN
  Async ack handling is covered by existing unit tests

REPOSITORY
  R108 KWin

BRANCH
  master

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

AFFECTED FILES
  shell_client.cpp

To: davidedmundson, #kwin
Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, alexeymin, 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.