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