diff options
Diffstat (limited to 'win/winvnc/QueryConnectDialog.cxx')
-rw-r--r-- | win/winvnc/QueryConnectDialog.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/win/winvnc/QueryConnectDialog.cxx b/win/winvnc/QueryConnectDialog.cxx index 5d609898..1b03af5d 100644 --- a/win/winvnc/QueryConnectDialog.cxx +++ b/win/winvnc/QueryConnectDialog.cxx @@ -48,12 +48,21 @@ QueryConnectDialog::QueryConnectDialog(network::Socket* sock_, const char* userName_, VNCServerWin32* s) : Dialog(GetModuleHandle(nullptr)), - sock(sock_), peerIp(sock->getPeerAddress()), userName(userName_), + thread(nullptr), sock(sock_), peerIp(sock->getPeerAddress()), + userName(userName_?userName_:""), approve(false), server(s) { } +QueryConnectDialog::~QueryConnectDialog() +{ + if (thread != nullptr) { + thread->join(); + delete thread; + } +} + void QueryConnectDialog::startDialog() { - start(); + thread = new std::thread(&QueryConnectDialog::worker, this); } |