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