aboutsummaryrefslogtreecommitdiffstats
path: root/win/winvnc/QueryConnectDialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'win/winvnc/QueryConnectDialog.cxx')
-rw-r--r--win/winvnc/QueryConnectDialog.cxx13
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);
}