void VncClientThread::run()
{
QMutexLocker locker(&mutex);
+ bool clean = false;
int passwd_failures = 0;
while (!m_stopped) { // try to connect as long as the server allows
break;
if (m_passwordError) {
- passwd_failures++;
- if(passwd_failures > 2)
- m_stopped = true;
- continue;
- }
+ passwd_failures++;
+ if(passwd_failures > 2) {
+ m_stopped = true;
+ clean = true; //rfbInitClient cleans up after itself upon failure
+ }
+ continue;
+ }
return;
}
// Cleanup allocated resources
locker.relock();
- rfbClientCleanup(cl);
+ if(!clean)
+ rfbClientCleanup(cl);
m_stopped = true;
}