diff options
author | sr | 2013-02-05 18:03:00 +0100 |
---|---|---|
committer | sr | 2013-02-05 18:03:00 +0100 |
commit | d9af1ec4348eca6c4d05ec8effed19697d288072 (patch) | |
tree | 62de9487b6d1cc93c9ea16680ca8cddbaf5514b4 /src/server/mainwindow | |
parent | [SERVER] fix vnc startup command (diff) | |
download | pvs2-d9af1ec4348eca6c4d05ec8effed19697d288072.tar.gz pvs2-d9af1ec4348eca6c4d05ec8effed19697d288072.tar.xz pvs2-d9af1ec4348eca6c4d05ec8effed19697d288072.zip |
[SERVER] Properly tell client the VNC server'S client id
Diffstat (limited to 'src/server/mainwindow')
-rw-r--r-- | src/server/mainwindow/mainwindow.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/mainwindow/mainwindow.cpp b/src/server/mainwindow/mainwindow.cpp index 67d88d0..1d9e565 100644 --- a/src/server/mainwindow/mainwindow.cpp +++ b/src/server/mainwindow/mainwindow.cpp @@ -719,6 +719,7 @@ void MainWindow::onVncServerStateChange(Client* client) msg.setField("HOST", client->ip()); msg.setField("PORT", QString::number(client->vncPort())); msg.setField("ROPASS", client->vncRoPass()); + msg.setField("CLIENTID", QString::number(client->id())); msg.setField("CAPTION", client->name() + " @ " + client->host()); for (QList<ConnectionFrame*>::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) { @@ -775,15 +776,15 @@ void MainWindow::onVncClientStateChange(Client* client) for (QList<ConnectionFrame*>::iterator it(_clientFrames.begin()); it != _clientFrames.end(); ++it) { Client *c = (**it).client(); - if (c == NULL || c == client) + if (c == NULL) continue; - if (c->currentProjectionSource() == client->currentProjectionSource()) + if (c->id() == client->currentProjectionSource()) + server = c; + if (c != client && c->currentProjectionSource() == client->currentProjectionSource()) { inUse = true; break; } - if (c->id() == client->currentProjectionSource()) - server = c; } // 3. kill server if applicable if (!inUse && server != NULL) |