davidedmundson added a comment.
> for how i did the kwin part, it must be who called it with discardTimer (this to allow kwin to receive 2 timeouts before deciding to kill the window) Ok, I see how it's meant to work but I don't understand why it's done like that. From what I see Kwayland can call "emit q->pingTimeout ; q->discardTimer() " and your kwin code will still wait for 2 timeouts, Otherwise it creates different behaviour depending on whether we do or don't receive a pong, and we make it very vulnerable to leak (for example if ShellClient instance is deleted with a ping open) ----- > most of it is in private, just its creation is mostly identical in the implementation of ping in the subclasses Yes, and I'm saying that bit could be shared as a method and called from the subclasses. REPOSITORY R127 KWayland REVISION DETAIL https://phabricator.kde.org/D6418 To: mart, #plasma, davidedmundson, graesslin Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas