D5712: Validate surface is valid when sending TextInput leave event

David Edmundson noreply at phabricator.kde.org
Thu May 4 22:40:05 UTC 2017


davidedmundson created this revision.
Restricted Application added projects: Plasma on Wayland, Frameworks.
Restricted Application added subscribers: Frameworks, plasma-devel.

REVISION SUMMARY
  It's possible for the surface to be unbound when we send the leave
  event; we've called Resource::unbind() of Surface, so the Surface has,
  deleteLater called, but it's still a valid object, and the first check
  passes.
  
  We get in this situation because when a surface is destroyed, we're
  handling text input from the same source event.
  
  Sending a nullpointer is a protocol error, and wayland kindly closes the
  connection.
  
  This fixes my constant:
  "Did the Wayland server die" error messages when running clients.

TEST PLAN
  Got errors after setting up qt virtual keyboard.
  Had reproducible case.
  Restarted kwin after this patch, now doesn't crash.

REPOSITORY
  R127 KWayland

BRANCH
  davidedmundson/xdgv6

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

AFFECTED FILES
  src/server/textinput_interface_v2.cpp

To: davidedmundson, #plasma
Cc: plasma-devel, #frameworks, spstarr, progwolff, Zren, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170504/c35c2173/attachment.html>


More information about the Kde-frameworks-devel mailing list