diff options
author | Manuel Schneider | 2014-07-09 17:33:53 +0200 |
---|---|---|
committer | Manuel Schneider | 2014-07-09 17:33:53 +0200 |
commit | f93d51b8f880aeeb830fd94f60b45488a974c7cb (patch) | |
tree | 631ff07d1e7c04e378d1d696303b43ce8abaebc9 /src/server/net/client.cpp | |
parent | Remove non-existant files from CMakeLists (diff) | |
parent | NEW feature: Possible to delete offline client by drag and drop to trash, whi... (diff) | |
download | pvs2-f93d51b8f880aeeb830fd94f60b45488a974c7cb.tar.gz pvs2-f93d51b8f880aeeb830fd94f60b45488a974c7cb.tar.xz pvs2-f93d51b8f880aeeb830fd94f60b45488a974c7cb.zip |
Merge branch 'master' of git.openslx.org:pvs2
Diffstat (limited to 'src/server/net/client.cpp')
-rw-r--r-- | src/server/net/client.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index 135157c..584b254 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -11,6 +11,7 @@ #include "../../shared/util.h" #include <QPixmap> #include <cassert> +#include <QNetworkInterface> #define CHALLENGE_LEN 20 @@ -310,10 +311,24 @@ void Client::stopVncClient() } } +/***************************************************************************//** + * Checks if client and manager runs on same machine. + * @return Return true, if pvsmanager is running on client. + */ +bool Client::isManagerMachine() +{ + foreach (const QHostAddress &address, QNetworkInterface::allAddresses()) + if (address != QHostAddress(QHostAddress::LocalHost) + && this != NULL + && this->ip() == address.toString()) + return true; + return false; +} + /******************************************************************************/ void Client::lockScreen(bool lock) { - if (!_isTutor && _locked != lock){ + if (!_isTutor && _locked != lock && !isManagerMachine()){ _locked = lock; NetworkMessage msg; msg.setField(_ID, _LOCK); |