[Differential] [Request, 4 lines] D1820: Properly call Toplevel::setSurface for wl_surface_id X11 client message event

graesslin (Martin Gräßlin) noreply at phabricator.kde.org
Fri Jun 10 14:22:29 UTC 2016


graesslin created this revision.
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added subscribers: kwin, plasma-devel.
Restricted Application added projects: Plasma on Wayland, KWin.

REVISION SUMMARY
  For an X11 window through Xwayland KWin gets a client message with the
  Surface id. KWin has two code paths for handling that:
  
  - Wayland Surface is created after the X11 event
  - Wayland Surface is created before the X11 event
  
  In the first code path in WaylandServer KWin called Toplevel::setSurface,
  the other code path just updated the m_surface without calling into
  setSurface. This means the connects for the Surface were not set up,
  resulting in the worst case in accessing deleted memory after the Surface
  was destroyed.
  
  This change now ensures that setSurface is called from both code paths.
  That should fix the potential crash and could also be a fix to the
  problem that sometimes X windows seem to not be damaged correctly.

REPOSITORY
  rKWIN KWin

BRANCH
  events-call-setSurface

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

AFFECTED FILES
  events.cpp

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: graesslin, #kwin, #plasma_on_wayland
Cc: plasma-devel, kwin, hardening, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160610/89e0e732/attachment.html>


More information about the Plasma-devel mailing list