In XDesktop::start() we allocate pixel buffer and set it as the backend to the given VNCServer. In XDesktop::stop() we deallocate the buffer, so we must unset it from the VNCServer as well. Otherwise the VNCServer could try to access it and crash, for example in deferred update.tags/v1.8.90
} | } | ||||
XDesktop::~XDesktop() { | XDesktop::~XDesktop() { | ||||
stop(); | |||||
if (running) | |||||
stop(); | |||||
} | } | ||||
XDamageDestroy(dpy, damage); | XDamageDestroy(dpy, damage); | ||||
#endif | #endif | ||||
server->setPixelBuffer(0); | |||||
server = 0; | |||||
delete pb; | delete pb; | ||||
pb = 0; | pb = 0; | ||||
} | } |