瀏覽代碼

Unset pixel buffer when x0vncserver client disconnects.

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
Michal Srb 6 年之前
父節點
當前提交
18a77077de
共有 1 個檔案被更改,包括 5 行新增1 行删除
  1. 5
    1
      unix/x0vncserver/XDesktop.cxx

+ 5
- 1
unix/x0vncserver/XDesktop.cxx 查看文件

@@ -166,7 +166,8 @@ XDesktop::XDesktop(Display* dpy_, Geometry *geometry_)
}

XDesktop::~XDesktop() {
stop();
if (running)
stop();
}


@@ -227,6 +228,9 @@ void XDesktop::stop() {
XDamageDestroy(dpy, damage);
#endif

server->setPixelBuffer(0);
server = 0;

delete pb;
pb = 0;
}

Loading…
取消
儲存