D9967: Acknowledge the server side deco mode in WaylandServer not ShellClient

Martin Flöser noreply at phabricator.kde.org
Thu Jan 18 20:22:16 UTC 2018


graesslin created this revision.
graesslin added reviewers: KWin, Plasma.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.
graesslin requested review of this revision.
Restricted Application edited projects, added Plasma; removed KWin.

REVISION SUMMARY
  With GTK applications our code showed issues. With GTK the sequence for
  a menu or dialog window is:
  
  1. create surface
  2. create server side decoration
  3. request csd
  4. create xdg_shell_surface
  
  Which result in KWin to have the ServerSideDecoration object being
  created before the ShellClient is created. The connect for mode changed
  happens in ShellClient, which is too late to catch that the window
  requested client side decoration. Thus KWin created a decoration about
  things such as a menu.
  
  This change moves the acknowledge of the mode to WaylandServer. As we
  anyway always acknowledge the requested mode we can also do it there and
  don't require ShellClient to be present. Thus when the ShellClient is
  created the mode is properly reflected and no decoration is created.
  
  BUG: 389117
  FIXED-IN: 5.12.0

TEST PLAN
  Played a lot with evince

REPOSITORY
  R108 KWin

BRANCH
  deco-acknowledge-server-5.12

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

AFFECTED FILES
  shell_client.cpp
  wayland_server.cpp

To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180118/7ff84eaa/attachment.html>


More information about the Plasma-devel mailing list