The branch, master has been updated
via 969d3fec74e287fd62aaa4333892de547e8dd584 (commit)
from 77e1eb78f99f8422bdba54fc12606c0aa574ffec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 969d3fec74e287fd62aaa4333892de547e8dd584
Author: Oleksandr Shneyder <oleksandr.shneyder(a)obviously-nice.de>
Date: Wed Sep 5 16:41:16 2012 +0200
restart pulse server on windows if it crashed
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 1 +
onmainwindow.cpp | 290 ++++++++++++++++++++++++++++--------------------------
onmainwindow.h | 3 +
3 files changed, 155 insertions(+), 139 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 17c4e02..7af8b1d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,6 +26,7 @@ x2goclient (3.99.3.0-0~x2go1) UNRELEASED; urgency=low
Russian translation.
- Add translation for checkbox "Direct RDP Connection" and update Russian
and German translation.
+ * restart pulse server on windows if it crashed
-- Oleksandr Shneyder <oleksandr.shneyder(a)obviously-nice.de> Wed, 05 Sep 2012 11:40:47 +0200
diff --git a/onmainwindow.cpp b/onmainwindow.cpp
index 5fbb941..7fb4cdd 100644
--- a/onmainwindow.cpp
+++ b/onmainwindow.cpp
@@ -177,7 +177,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
#ifdef CFGCLIENT
QStringList args=QCoreApplication::arguments();
- for ( int i=1;i<args.size();++i )
+ for ( int i=1; i<args.size(); ++i )
{
if ( !parseParameter ( args[i] ) )
{
@@ -214,7 +214,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
homeDir=portableDataPath;
x2goDebug<<"running in \"portable\" mode\n"<<
- "Data Dir is "<<portableDataPath;
+ "Data Dir is "<<portableDataPath;
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(slotCheckPortableDir()));
timer->start(1000);
@@ -528,7 +528,7 @@ void ONMainWindow::installTranslator()
if ( !qtTranslator->load ( filename ) )
{
x2goDebug<< "Can't load translator "<<
- filename.toLocal8Bit().data() ;
+ filename.toLocal8Bit().data() ;
}
else
{
@@ -1124,7 +1124,7 @@ void ONMainWindow::removeAppsFromTray()
if (!trayIcon)
return;
x2goDebug<<"remove apps\n";
- for (int i=0;i<=Application::OTHER;++i)
+ for (int i=0; i<=Application::OTHER; ++i)
{
appMenu[i]->clear();
appMenu[i]->menuAction()->setVisible(false);
@@ -1180,7 +1180,7 @@ void ONMainWindow::slotResize ( const QSize sz )
{
QList<UserButton*>::iterator it;
QList<UserButton*>::iterator end=names.end();
- for ( it=names.begin();it!=end;it++ )
+ for ( it=names.begin(); it!=end; it++ )
{
if ( !miniMode )
( *it )->move (
@@ -1197,7 +1197,7 @@ void ONMainWindow::slotResize ( const QSize sz )
QList<SessionButton*>::iterator it;
QList<SessionButton*>::iterator end=
sessions.end();
- for ( it=sessions.begin();it!=end;it++ )
+ for ( it=sessions.begin(); it!=end; it++ )
{
if ( !miniMode )
( *it )->move (
@@ -1270,7 +1270,7 @@ void ONMainWindow::closeClient()
}
if (useLdap)
{
- for (int i=0;i<serverSshConnections.count();++i)
+ for (int i=0; i<serverSshConnections.count(); ++i)
{
if (serverSshConnections[i])
{
@@ -1334,6 +1334,8 @@ void ONMainWindow::closeClient()
#ifdef Q_OS_WIN
if ( pulseServer )
{
+ delete pulseTimer;
+
x2goDebug<<"terminate pulse";
pulseServer->kill();
x2goDebug<<"done\ndelete pulse process";
@@ -1529,7 +1531,7 @@ void ONMainWindow::displayUsers()
QList<user>::iterator it;
QList<user>::iterator end=userList.end();
int i=0;
- for ( it=userList.begin();it!=end;it++ )
+ for ( it=userList.begin(); it!=end; it++ )
{
int val=i+1;
UserButton* l;
@@ -1708,7 +1710,7 @@ void ONMainWindow::slotPassEnter()
QString freeServer;
QString firstServer;
bool isFirstServerSet=false;
- for ( ;it!=end;++it )
+ for ( ; it!=end; ++it )
{
serv server;
server.name=LDAPSession::getStringAttrValues (
@@ -1776,7 +1778,7 @@ void ONMainWindow::slotUnameChanged ( const QString& text )
return;
QList<UserButton*>::iterator it;
QList<UserButton*>::iterator endit=names.end();
- for ( it=names.begin();it!=endit;it++ )
+ for ( it=names.begin(); it!=endit; it++ )
{
QString username= ( *it )->username();
if ( username.indexOf ( text,0,Qt::CaseInsensitive ) ==0 )
@@ -1806,7 +1808,7 @@ void ONMainWindow::slotUnameEntered()
UserButton* user=NULL;
QList<UserButton*>::iterator it;
QList<UserButton*>::iterator endit=names.end();
- for ( it=names.begin();it!=endit;it++ )
+ for ( it=names.begin(); it!=endit; it++ )
{
QString username= ( *it )->username();
if ( username==text )
@@ -1822,7 +1824,7 @@ void ONMainWindow::slotUnameEntered()
SessionButton* sess=NULL;
QList<SessionButton*>::iterator it;
QList<SessionButton*>::iterator endit=sessions.end();
- for ( it=sessions.begin();it!=endit;it++ )
+ for ( it=sessions.begin(); it!=endit; it++ )
{
QString name= ( *it )->name();
if ( name==text )
@@ -1882,7 +1884,7 @@ void ONMainWindow::readUsers()
list<LDAPBinEntry>::iterator it=result.begin();
list<LDAPBinEntry>::iterator end=result.end();
- for ( ;it!=end;++it )
+ for ( ; it!=end; ++it )
{
user u;
QString uin=LDAPSession::getBinAttrValues (
@@ -1913,7 +1915,7 @@ void ONMainWindow::readUsers()
if ( defaultUser )
{
defaultUser=false;
- for ( int i=0;i<userList.size();++i )
+ for ( int i=0; i<userList.size(); ++i )
{
if ( userList[i].uid ==defaultUserName )
{
@@ -1963,9 +1965,9 @@ void ONMainWindow::slotConfig()
if ( !embedMode )
{
- for ( i=0;i<names.size();++i )
+ for ( i=0; i<names.size(); ++i )
names[i]->close();
- for ( i=0;i<sessions.size();++i )
+ for ( i=0; i<sessions.size(); ++i )
sessions[i]->close();
userList.clear();
@@ -2042,13 +2044,13 @@ void ONMainWindow::slotCreateDesktopIcon ( SessionButton* bt )
cmd="x2goclient --hide";
QTextStream out ( &file );
out << "[Desktop Entry]\n"<<
- "Exec[$e]="<<cmd<<" --sessionid="<<bt->id() <<"\n"<<
- "Icon="<<sessIcon<<"\n"<<
- "Name="<<name<<"\n"<<
- "StartupNotify=true\n"<<
- "Terminal=false\n"<<
- "Type=Application\n"<<
- "X-KDE-SubstituteUID=false\n";
+ "Exec[$e]="<<cmd<<" --sessionid="<<bt->id() <<"\n"<<
+ "Icon="<<sessIcon<<"\n"<<
+ "Name="<<name<<"\n"<<
+ "StartupNotify=true\n"<<
+ "Terminal=false\n"<<
+ "Type=Application\n"<<
+ "X-KDE-SubstituteUID=false\n";
file.close();
#else
QString scrname=QDir::tempPath() +"\\mklnk.vbs";
@@ -2065,17 +2067,17 @@ void ONMainWindow::slotCreateDesktopIcon ( SessionButton* bt )
args+=" --hide";
QTextStream out ( &file );
out << "Set Shell = CreateObject(\"WScript.Shell\")\n"<<
- "DesktopPath = Shell.SpecialFolders(\"Desktop\")\n"<<
- "Set link = Shell.CreateShortcut(DesktopPath & \"\\"<<name<<
- ".lnk\")\n"<<
- "link.Arguments = \""<<args<<"\"\n"<<
- "link.Description = \""<<tr ( "X2Go Link to session " ) <<
- "--"<<name<<"--"<<"\"\n"<<
- "link.TargetPath = \""<<progname<<"\"\n"<<
- "link.iconLocation = \""<<progname<<"\"\n"<<
- "link.WindowStyle = 1\n"<<
- "link.WorkingDirectory = \""<<workDir<<"\"\n"<<
- "link.Save\n";
+ "DesktopPath = Shell.SpecialFolders(\"Desktop\")\n"<<
+ "Set link = Shell.CreateShortcut(DesktopPath & \"\\"<<name<<
+ ".lnk\")\n"<<
+ "link.Arguments = \""<<args<<"\"\n"<<
+ "link.Description = \""<<tr ( "X2Go Link to session " ) <<
+ "--"<<name<<"--"<<"\"\n"<<
+ "link.TargetPath = \""<<progname<<"\"\n"<<
+ "link.iconLocation = \""<<progname<<"\"\n"<<
+ "link.WindowStyle = 1\n"<<
+ "link.WorkingDirectory = \""<<workDir<<"\"\n"<<
+ "link.Save\n";
file.close();
system ( scrname.toAscii() );
QFile::remove ( scrname );
@@ -2099,7 +2101,7 @@ void ONMainWindow::slotReadSessions()
config.key=QString::null;
config.user=QString::null;
config.sessiondata=QString::null;
- for (int i=sessions.count()-1;i>=0;--i)
+ for (int i=sessions.count()-1; i>=0; --i)
{
SessionButton* but=sessions.takeAt(i);
if (but)
@@ -2122,7 +2124,7 @@ void ONMainWindow::slotReadSessions()
QMessageBox::critical(this,tr("Error"),tr("X2Go sessions not found"));
close();
}
- for ( int i=0;i<slst.size();++i )
+ for ( int i=0; i<slst.size(); ++i )
{
if ( slst[i]!="embedded" )
createBut ( slst[i] );
@@ -2150,7 +2152,7 @@ void ONMainWindow::slotReadSessions()
defaultSession=false;
if ( defaultSessionId.length() >0 )
{
- for ( int i=0;i<sessions.size();++i )
+ for ( int i=0; i<sessions.size(); ++i )
{
if ( sessions[i]->id() ==defaultSessionId )
{
@@ -2162,7 +2164,7 @@ void ONMainWindow::slotReadSessions()
}
else
{
- for ( int i=0;i<sessions.size();++i )
+ for ( int i=0; i<sessions.size(); ++i )
{
if ( sessions[i]->name() ==defaultSessionName )
{
@@ -2235,7 +2237,7 @@ SessionButton* ONMainWindow::createBut ( const QString& id )
void ONMainWindow::placeButtons()
{
qSort ( sessions.begin(),sessions.end(),SessionButton::lessThen );
- for ( int i=0;i<sessions.size();++i )
+ for ( int i=0; i<sessions.size(); ++i )
{
if ( !miniMode )
sessions[i]->move ( ( users->width()-360 ) /2,
@@ -2511,7 +2513,7 @@ void ONMainWindow::slotSnameChanged ( const QString& text )
return;
QList<SessionButton*>::iterator it;
QList<SessionButton*>::iterator endit=sessions.end();
- for ( it=sessions.begin();it!=endit;it++ )
+ for ( it=sessions.begin(); it!=endit; it++ )
{
QString name= ( *it )->name();
if ( name.indexOf ( text,0,Qt::CaseInsensitive ) ==0 )
@@ -2731,7 +2733,7 @@ SshMasterConnection* ONMainWindow::startSshConnection ( QString host, QString po
SshMasterConnection* con;
x2goDebug<<"start new ssh connection to server:"<<host<<":"<<port<<"krb: "<<krbLogin<<endl;
- for ( int i=0;i<sshEnv.size();++i )
+ for ( int i=0; i<sshEnv.size(); ++i )
{
#ifndef Q_OS_WIN
QStringList args=sshEnv[i].split ( "=" );
@@ -2817,7 +2819,7 @@ void ONMainWindow::slotSshConnectionOk()
SshMasterConnection* ONMainWindow::findServerSshConnection(QString host)
{
- for (int i=0;i<serverSshConnections.count();++i)
+ for (int i=0; i<serverSshConnections.count(); ++i)
{
if (serverSshConnections[i])
{
@@ -2988,7 +2990,7 @@ void ONMainWindow::continueNormalSession()
SshProcess* proc=new SshProcess ( sshConnection, this );
connect ( proc,SIGNAL ( sshFinished ( bool,QString,SshProcess* ) ),
this,SLOT ( slotListSessions ( bool, QString,
- SshProcess* ) ) );
+ SshProcess* ) ) );
if ( !shadowSession )
proc->startNormal ( "export HOSTNAME && x2golistsessions" );
else
@@ -3262,7 +3264,7 @@ void ONMainWindow::slotListSessions ( bool result,QString output,
selectSession ( sessions );
else
{
- for ( int i=0;i<sessions.size();++i )
+ for ( int i=0; i<sessions.size(); ++i )
{
x2goSession s=getSessionFromString (
sessions[i] );
@@ -3360,7 +3362,7 @@ void ONMainWindow::startNewSession()
type=defaultKbdType;
command=defaultCmd;
shadowSession=false;
- for ( int j=0;j<x2goServers.size();++j )
+ for ( int j=0; j<x2goServers.size(); ++j )
{
if ( x2goServers[j].connOk )
{
@@ -3645,7 +3647,7 @@ void ONMainWindow::startNewSession()
connect ( proc,SIGNAL ( sshFinished ( bool, QString,SshProcess* ) ),
this,SLOT ( slotRetResumeSess ( bool,
- QString,SshProcess* ) ) );
+ QString,SshProcess* ) ) );
proc->startNormal ( cmd );
passForm->hide();
@@ -3886,7 +3888,7 @@ void ONMainWindow::resumeSession ( const x2goSession& s )
connect ( proc,SIGNAL ( sshFinished ( bool, QString,SshProcess* ) ),
this,SLOT ( slotRetResumeSess ( bool, QString,
- SshProcess* ) ) );
+ SshProcess* ) ) );
proc->startNormal ( cmd );
resumingSession=s;
@@ -3961,7 +3963,7 @@ void ONMainWindow::selectSession ( QStringList& sessions )
model->setItem ( row,S_IP,item );
item= new QStandardItem ( s.sessionId );
model->setItem ( row,S_ID,item );
- for ( int j=0;j<8;++j )
+ for ( int j=0; j<8; ++j )
{
QString txt=
model->index ( row,j ).data().toString();
@@ -4550,7 +4552,7 @@ void ONMainWindow::slotRetResumeSess ( bool result,
connect ( tunnel,SIGNAL ( sshFinished ( bool, QString,SshProcess* ) ),
this,SLOT ( slotTunnelFailed ( bool,
- QString,SshProcess* ) ) );
+ QString,SshProcess* ) ) );
connect ( tunnel,SIGNAL ( sshTunnelOk() ),
this,SLOT ( slotTunnelOk() ) );
@@ -4753,7 +4755,7 @@ x2goSession ONMainWindow::getSelectedSession()
{
QString sessId=sessTv->model()->index ( sessTv->currentIndex().row(),
S_ID ).data().toString();
- for ( int i=0;i<selectedSessions.size();++i )
+ for ( int i=0; i<selectedSessions.size(); ++i )
{
if ( selectedSessions[i].sessionId==sessId )
return selectedSessions[i];
@@ -4823,10 +4825,10 @@ void ONMainWindow::slotTunnelOk()
nxroot=cygwinPath ( nxroot );
#endif
out << "nx/nx,root="<<nxroot<<",connect=localhost,cookie="<<
- resumingSession.cookie<<",port="
- <<localGraphicPort/*resumingSession.grPort*/<<
- ",errors="<<dirpath<<"/sessions:"<<
- resumingSession.display;
+ resumingSession.cookie<<",port="
+ <<localGraphicPort/*resumingSession.grPort*/<<
+ ",errors="<<dirpath<<"/sessions:"<<
+ resumingSession.display;
file.close();
xmodExecuted=false;
@@ -4837,7 +4839,7 @@ void ONMainWindow::slotTunnelOk()
#if defined ( Q_OS_WIN ) || defined ( Q_OS_DARWIN )
int dispInd=-1;
#endif
- for ( int l=0;l<env.size();++l )
+ for ( int l=0; l<env.size(); ++l )
{
// x2goDebug<<env[l]<<endl;
if ( env[l].indexOf ( "X2GO_LIB" ) ==0 )
@@ -5709,8 +5711,8 @@ void ONMainWindow::runCommand()
connect ( proc,SIGNAL ( sshFinished ( bool, QString,
SshProcess* ) ),
this,SLOT ( slotRetRunCommand ( bool,
- QString,
- SshProcess* ) ) );
+ QString,
+ SshProcess* ) ) );
proc->startNormal ( cmd );
}
@@ -5760,8 +5762,8 @@ void ONMainWindow::readApplications()
connect ( proc,SIGNAL ( sshFinished ( bool, QString,
SshProcess* ) ),
this,SLOT ( slotReadApplications ( bool,
- QString,
- SshProcess* ) ) );
+ QString,
+ SshProcess* ) ) );
proc->startNormal ( "x2gogetapps" );
sbApps->setEnabled(false);
}
@@ -6520,21 +6522,21 @@ void ONMainWindow::slotGetServers ( bool result, QString output,
uname->setEnabled ( false );
u->setEnabled ( false );
QStringList servers=output.trimmed().split ( '\n' );
- for ( int i=0;i<servers.size();++i )
+ for ( int i=0; i<servers.size(); ++i )
{
QStringList lst=servers[i].simplified().split ( ' ' );
if ( lst.size() >1 )
{
- for ( int j=0;j<x2goServers.size();++j )
+ for ( int j=0; j<x2goServers.size(); ++j )
if ( x2goServers[j].name==lst[0] )
{
x2goServers[j].sess=
lst[1].toInt() *
x2goServers[j].factor;
x2goDebug<<x2goServers[j].name<<
- ": sessions "<<
- lst[1].toInt() <<
- ", multiplied "<<x2goServers[j].sess;
+ ": sessions "<<
+ lst[1].toInt() <<
+ ", multiplied "<<x2goServers[j].sess;
break;
}
}
@@ -6549,13 +6551,13 @@ void ONMainWindow::slotGetServers ( bool result, QString output,
QString passwd;
QString user=getCurrentUname();
passwd=getCurrentPass();
- for (int i=0; i< serverSshConnections.count();++i)
+ for (int i=0; i< serverSshConnections.count(); ++i)
{
if (serverSshConnections[i])
serverSshConnections[i]->disconnectSession();
}
serverSshConnections.clear();
- for ( int j=0;j<x2goServers.size();++j )
+ for ( int j=0; j<x2goServers.size(); ++j )
{
QString host=x2goServers[j].name;
sshPort=x2goServers[j].sshPort;
@@ -6589,7 +6591,7 @@ void ONMainWindow::slotListAllSessions ( bool result,QString output,
QMessageBox::Ok,
QMessageBox::NoButton );
QString sv=output.split ( ":" ) [0];
- for ( int j=0;j<x2goServers.size();++j )
+ for ( int j=0; j<x2goServers.size(); ++j )
{
if ( x2goServers[j].name==sv )
{
@@ -6774,7 +6776,7 @@ void ONMainWindow::exportDefaultDirs()
( QVariant ) QString::null ).toString();
QStringList lst=exd.split ( ";",
QString::SkipEmptyParts );
- for ( int i=0;i<lst.size();++i )
+ for ( int i=0; i<lst.size(); ++i )
{
#ifndef Q_OS_WIN
QStringList tails=lst[i].split (
@@ -6974,7 +6976,7 @@ void ONMainWindow::slotCopyKey ( bool result, QString output, SshProcess* proc )
directory* ONMainWindow::getExpDir ( QString key )
{
- for ( int i=0;i<exportDir.size();++i )
+ for ( int i=0; i<exportDir.size(); ++i )
{
if ( exportDir[i].key==key )
return &exportDir[i];
@@ -6990,7 +6992,7 @@ void ONMainWindow::slotRetExportDir ( bool result,QString output,
{
QString key;
- for ( int i=0;i<exportDir.size();++i )
+ for ( int i=0; i<exportDir.size(); ++i )
if ( exportDir[i].proc==proc )
{
key=exportDir[i].key;
@@ -7088,10 +7090,10 @@ void ONMainWindow::slotExtTimer()
x2goDebug <<"Wrong permissions on "<<readLoginsFrom <<":"<<endl;
x2goDebug << ( int ) ( QFile::permissions (
readLoginsFrom+"/." ) )
- <<"must be"<< ( int ) ( QFile::ReadUser|QFile::WriteUser
- |QFile::ExeUser|QFile::ReadOwner|
- QFile::WriteOwner|
- QFile::ExeOwner ) <<endl;
+ <<"must be"<< ( int ) ( QFile::ReadUser|QFile::WriteUser
+ |QFile::ExeUser|QFile::ReadOwner|
+ QFile::WriteOwner|
+ QFile::ExeOwner ) <<endl;
if ( extLogin )
extTimer->stop();
return;
@@ -7100,7 +7102,7 @@ void ONMainWindow::slotExtTimer()
QString logoutDir;
QDir dir ( readLoginsFrom );
QStringList list = dir.entryList ( QDir::Files );
- for ( int i=0;i<list.size();++i )
+ for ( int i=0; i<list.size(); ++i )
{
QFile file ( readLoginsFrom+"/"+list[i] );
if ( !file.open ( QIODevice::ReadOnly | QIODevice::Text ) )
@@ -7122,8 +7124,8 @@ void ONMainWindow::slotExtTimer()
if ( args[0]=="logout" )
{
x2goDebug <<
- " I HAVE external logout"<<
- endl;
+ " I HAVE external logout"<<
+ endl;
args[1].replace ( "\n","" );
if ( args[1].size() )
logoutDir=args[1];
@@ -7161,13 +7163,13 @@ void ONMainWindow::slotExportTimer()
QFile::ReadOwner|QFile::WriteOwner|QFile::ExeOwner ) )
{
x2goDebug <<"Wrong permissions on "<<
- readExportsFrom <<":"<<endl;
+ readExportsFrom <<":"<<endl;
x2goDebug << ( int ) ( QFile::permissions (
readExportsFrom+"/." ) )
- <<"must be"<< ( int ) ( QFile::ReadUser|QFile::WriteUser
- |QFile::ExeUser|QFile::ReadOwner|
- QFile::WriteOwner|
- QFile::ExeOwner ) <<endl;
+ <<"must be"<< ( int ) ( QFile::ReadUser|QFile::WriteUser
+ |QFile::ExeUser|QFile::ReadOwner|
+ QFile::WriteOwner|
+ QFile::ExeOwner ) <<endl;
exportTimer->stop();
return;
}
@@ -7178,7 +7180,7 @@ void ONMainWindow::slotExportTimer()
QString unexpList;
QString loginDir;
QString logoutDir;
- for ( int i=0;i<list.size();++i )
+ for ( int i=0; i<list.size(); ++i )
{
QFile file ( readExportsFrom+"/"+list[i] );
if ( !file.open ( QIODevice::ReadOnly | QIODevice::Text ) )
@@ -7222,7 +7224,7 @@ void ONMainWindow::slotExportTimer()
QString host=resumingSession.server;
QString sessionId=resumingSession.sessionId;
- for ( int i=0;i<args.size();++i )
+ for ( int i=0; i<args.size(); ++i )
{
SshProcess* sproc=new SshProcess (
sshConnection, this );
@@ -7328,7 +7330,7 @@ void ONMainWindow::slotRereadUsers()
list<LDAPBinEntry>::iterator it=result.begin();
list<LDAPBinEntry>::iterator end=result.end();
- for ( ;it!=end;++it )
+ for ( ; it!=end; ++it )
{
user u;
QString uin=LDAPSession::getBinAttrValues (
@@ -7352,9 +7354,9 @@ void ONMainWindow::slotRereadUsers()
void ONMainWindow::reloadUsers()
{
int i;
- for ( i=0;i<names.size();++i )
+ for ( i=0; i<names.size(); ++i )
names[i]->close();
- for ( i=0;i<sessions.size();++i )
+ for ( i=0; i<sessions.size(); ++i )
sessions[i]->close();
userList.clear();
@@ -7382,7 +7384,7 @@ void ONMainWindow::reloadUsers()
bool ONMainWindow::findInList ( const QString& uid )
{
- for ( int i=0;i<userList.size();++i )
+ for ( int i=0; i<userList.size(); ++i )
{
if ( userList[i].uid==uid )
return true;
@@ -7404,7 +7406,7 @@ void ONMainWindow::setUsersEnabled ( bool enable )
QList<UserButton*>::iterator endit=names.end();
if ( !enable )
{
- for ( it=names.begin();it!=endit;it++ )
+ for ( it=names.begin(); it!=endit; it++ )
{
QPoint pos= ( *it )->pos();
if ( ( pos.y() >upos-height ) &&
@@ -7416,7 +7418,7 @@ void ONMainWindow::setUsersEnabled ( bool enable )
}
else
{
- for ( it=names.begin();it!=endit;it++ )
+ for ( it=names.begin(); it!=endit; it++ )
{
if ( ! ( *it )->isEnabled() )
( *it )->setEnabled ( true );
@@ -7561,7 +7563,7 @@ void ONMainWindow::slotGpgFinished ( int exitCode,
QProcess::ExitStatus exitStatus )
{
x2goDebug<<"gpg finished, exit code:"<<exitCode<<" exit status:"<<
- exitStatus<<endl;
+ exitStatus<<endl;
if ( exitStatus==0 )
{
QString stdOut ( gpg->readAllStandardOutput() );
@@ -7571,7 +7573,7 @@ void ONMainWindow::slotGpgFinished ( int exitCode,
QString login;
QString appId;
QString authKey;
- for ( int i=0;i<lines.count();++i )
+ for ( int i=0; i<lines.count(); ++i )
{
if ( lines[i].indexOf ( "Application ID" ) !=-1 )
{
@@ -7634,8 +7636,8 @@ void ONMainWindow::startGPGAgent ( const QString& login, const QString& appId )
}
QTextStream out ( &file );
out << "#!/bin/bash\n\n"
- "if [ \"$6\" != \"0x0002\" ] && [ \"$6\" != "
- "\"0x0007\" ]\n\
+ "if [ \"$6\" != \"0x0002\" ] && [ \"$6\" != "
+ "\"0x0007\" ]\n\
then\n\
kill -9 $_assuan_pipe_connect_pid\n\
fi"<<endl;
@@ -7648,7 +7650,7 @@ void ONMainWindow::startGPGAgent ( const QString& login, const QString& appId )
gpgAgent=new QProcess ( this );
QStringList arguments;
arguments<<"--pinentry-program"<<"/usr/bin/pinentry-x2go"<<
- "--enable-ssh-support"<<"--daemon"<<"--no-detach";
+ "--enable-ssh-support"<<"--daemon"<<"--no-detach";
connect ( gpgAgent,SIGNAL ( finished ( int,QProcess::ExitStatus ) ),
this,
@@ -8092,7 +8094,7 @@ int ONMainWindow::startSshFsTunnel()
{
fsTunReady=false;
x2goDebug<<"starting fs tunnel for:"<<resumingSession.sessionId<<
- "\nfs port: "<<resumingSession.fsPort;
+ "\nfs port: "<<resumingSession.fsPort;
if ( resumingSession.fsPort.length() <=0 )
{
@@ -8113,7 +8115,7 @@ int ONMainWindow::startSshFsTunnel()
connect ( fsTunnel,SIGNAL ( sshFinished ( bool,
QString,SshProcess* ) ),
this,SLOT ( slotFsTunnelFailed ( bool,
- QString,SshProcess* ) ) );
+ QString,SshProcess* ) ) );
connect ( fsTunnel,SIGNAL ( sshTunnelOk() ),
this,SLOT ( slotFsTunnelOk() ) );
@@ -8212,7 +8214,7 @@ void ONMainWindow::startX2goMount()
QString cuser;
#ifndef Q_WS_HILDON
- for ( int i=0;i<env.size();++i )
+ for ( int i=0; i<env.size(); ++i )
{
QStringList ls=env[i].split ( "=" );
if ( ls[0]=="USER" )
@@ -8299,7 +8301,7 @@ void ONMainWindow::startX2goMount()
connect ( proc,SIGNAL ( sshFinished ( bool, QString,SshProcess* ) ),
this,SLOT ( slotRetExportDir ( bool,
- QString,SshProcess* ) ) );
+ QString,SshProcess* ) ) );
proc->startNormal ( cmd );
}
@@ -8308,7 +8310,7 @@ void ONMainWindow::slotCheckPrintSpool()
{
QDir dir ( spoolDir );
QStringList list = dir.entryList ( QDir::Files );
- for ( int i=0;i<list.size();++i )
+ for ( int i=0; i<list.size(); ++i )
{
if ( !list[i].endsWith ( ".ready" ) )
continue;
@@ -8344,7 +8346,7 @@ void ONMainWindow::cleanPrintSpool()
{
QDir dir ( spoolDir );
QStringList list = dir.entryList ( QDir::Files );
- for ( int i=0;i<list.size();++i )
+ for ( int i=0; i<list.size(); ++i )
{
QFile::remove ( spoolDir+"/"+list[i] );
}
@@ -8356,7 +8358,7 @@ void ONMainWindow::cleanAskPass()
QString path=homeDir +"/.x2go/ssh/";
QDir dir ( path );
QStringList list = dir.entryList ( QDir::Files );
- for ( int i=0;i<list.size();++i )
+ for ( int i=0; i<list.size(); ++i )
{
if ( list[i].startsWith ( "askpass" ) )
QFile::remove ( path+list[i] );
@@ -8541,7 +8543,7 @@ void ONMainWindow::startXOrg ()
xorgLogMutex.unlock();
//run xming with clipboard support
args<<dispString<<"-multiwindow"<<"-notrayicon"<<"-clipboard"<<
- "-logfile"<<xorgLogFile;
+ "-logfile"<<xorgLogFile;
xorg->setEnvironment ( env );
xorg-> setWorkingDirectory ( workingDir);
}
@@ -8595,7 +8597,7 @@ void ONMainWindow::slotCheckXOrgConnection()
}
WinServerStarter::WinServerStarter ( daemon server, ONMainWindow * par ) :
- QThread ( 0 )
+ QThread ( 0 )
{
mode=server;
parent=par;
@@ -8611,9 +8613,6 @@ void WinServerStarter::run()
case X:
parent->startXOrg();
break;
- case PULSE:
- parent->startPulsed();
- break;
}
}
@@ -8633,8 +8632,7 @@ void ONMainWindow::startWinServers()
WinServerStarter* sshStarter = new WinServerStarter (
WinServerStarter::SSH, this );
- WinServerStarter* pulseStarter = new WinServerStarter (
- WinServerStarter::PULSE, this );
+
if ( !embedMode || !config.confFS || ( config.confFS && config.useFs ) )
{
@@ -8647,7 +8645,7 @@ void ONMainWindow::startWinServers()
if ( !embedMode || !config.confSnd ||
( config.confSnd && config.useSnd ) )
{
- pulseStarter->start();
+ startPulsed();
}
// #ifdef CFGCLIENT
// x2goDebug<<"xorg settings: "<<startXorgOnStart <<" "<< useXming<<endl;
@@ -8872,7 +8870,7 @@ void ONMainWindow::startPulsed()
dr.mkpath ( pulseDir );
x2goDebug<<"pulse tmp file: "<<pulseDir<<endl;
QStringList pEnv=QProcess::systemEnvironment();
- for ( int i=0; i<pEnv.size();++i )
+ for ( int i=0; i<pEnv.size(); ++i )
{
if ( pEnv[i].indexOf ( "USERPROFILE=" ) !=-1 )
pEnv[i]="USERPROFILE="+
@@ -8888,14 +8886,14 @@ void ONMainWindow::startPulsed()
return;
QTextStream out ( &file );
out << "load-module module-native-protocol-tcp port="+
- QString::number ( pulsePort ) <<endl;
+ QString::number ( pulsePort ) <<endl;
out << "load-module module-esound-protocol-tcp port="+
- QString::number ( esdPort ) <<endl;
+ QString::number ( esdPort ) <<endl;
out << "load-module module-waveout"<<endl;
file.close();
pulseServer=new QProcess ( 0 );
pulseServer->setEnvironment ( pEnv );
- QStringList args;
+ pulseArgs.clear();
#ifdef Q_OS_WIN
QDir drr(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime");
if (!drr.exists())
@@ -8903,16 +8901,30 @@ void ONMainWindow::startPulsed()
if (QFile::exists(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime/pid"))
QFile::remove(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime/pid");
pulseDir.replace("/","\\");
- args<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"\\config.pa";
+ pulseArgs<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"\\config.pa";
#else
- args<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"/config.pa";
+ pulseArgs<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"/config.pa";
#endif
pulseServer->setWorkingDirectory ( wapiShortFileName (
appDir+"\\pulse" ) );
- pulseServer->start ( "pulse\\pulseaudio.exe",args );
- x2goDebug<<"starting pulse\\pulseaudio.exe "<<args.join ( " " ) <<
- " working dir: "<<
- wapiShortFileName ( appDir+"\\pulse" ) <<endl;
+ pulseServer->start ( "pulse\\pulseaudio.exe",pulseArgs );
+ x2goDebug<<"starting pulse\\pulseaudio.exe "<<pulseArgs.join ( " " ) <<
+ " working dir: "<<
+ wapiShortFileName ( appDir+"\\pulse" ) <<endl;
+ pulseTimer=new QTimer(this);
+ x2goDebug<<"connect timer";
+ connect (pulseTimer, SIGNAL(timeout()), this, SLOT(slotCheckPulse()));
+ pulseTimer->start(2000);
+}
+
+void ONMainWindow::slotCheckPulse()
+{
+ //restart pulse server
+ if(pulseServer->state()!=QProcess::Running)
+ {
+ pulseServer->start ( "pulse\\pulseaudio.exe",pulseArgs );
+ x2goDebug<<"restarting pulse\\pulseaudio.exe "<<pulseArgs.join ( " " );
+ }
}
@@ -8991,8 +9003,8 @@ void ONMainWindow::generateEtcFiles()
return;
QTextStream out ( &file );
out <<"sshuser::"<<rid<<":"<<grid<<":"<<sys<<"\\sshuser,"
- <<sid<<":"<<cygwinPath ( wapiShortFileName ( homeDir ) ) <<
- "/.x2go"<<":/bin/bash\n";
+ <<sid<<":"<<cygwinPath ( wapiShortFileName ( homeDir ) ) <<
+ "/.x2go"<<":/bin/bash\n";
file.close();
}
@@ -9004,12 +9016,12 @@ void ONMainWindow::generateEtcFiles()
return;
QTextStream out ( &file );
out<<"StrictModes no\n"<<
- "UsePrivilegeSeparation no\n"<<
+ "UsePrivilegeSeparation no\n"<<
#ifdef Q_OS_WIN
- "Subsystem sftp /bin/sftp-server\n";
+ "Subsystem sftp /bin/sftp-server\n";
#else
- "Subsystem sftp "
- <<appDir<<"/sftp-server\n";
+ "Subsystem sftp "
+ <<appDir<<"/sftp-server\n";
#endif
file.close();
x2goDebug<<etcDir +"/sshd_config created";
@@ -9035,7 +9047,7 @@ void ONMainWindow::generateHostDsaKey()
#endif
QStringList args;
args<<"-t"<<"dsa"<<"-N"<<""<<"-C"<<
- "x2goclient DSA host key"<<"-f"<<fname;
+ "x2goclient DSA host key"<<"-f"<<fname;
QProcess::execute ( "ssh-keygen",args );
}
}
@@ -9100,7 +9112,7 @@ void ONMainWindow::startSshd()
sshd=new QProcess ( this );
QStringList arguments;
arguments<<"-f"<<etcDir +"/sshd_config"<< "-h" <<
- etcDir+"/ssh_host_dsa_key"<<"-D"<<"-p"<<clientSshPort;
+ etcDir+"/ssh_host_dsa_key"<<"-D"<<"-p"<<clientSshPort;
sshd->start ( appDir+"/sshd",arguments );
x2goDebug<<"Usermode sshd started";
#endif
@@ -9257,7 +9269,7 @@ void ONMainWindow::slotConfigXinerama()
x2goDebug<<"New proxy geometry: "<<lastDisplayGeometry<<endl;
QDesktopWidget* root=QApplication::desktop();
QList<QRect> newXineramaScreens;
- for (int i=0; i< root->numScreens();++i)
+ for (int i=0; i< root->numScreens(); ++i)
{
QRect intersection;
if (resumingSession.fullscreen)
@@ -9283,7 +9295,7 @@ void ONMainWindow::slotConfigXinerama()
QStringList screens;
foreach (QRect disp, xineramaScreens)
screens<<QString::number(disp.x())+" "+QString::number(disp.y())+" "+QString::number(disp.width())+
- " "+QString::number(disp.height());
+ " "+QString::number(disp.height());
QString cmd="export DISPLAY=:"+resumingSession.display+";echo -e "+screens.join("\\\\n")+" > ~/.x2go/C-"+
resumingSession.sessionId+"/xinerama.conf";
@@ -9319,7 +9331,7 @@ void ONMainWindow::slotXineramaConfigured()
void ONMainWindow::slotFindProxyWin()
{
#ifndef Q_OS_DARWIN
- x2goDebug<<"search proxy win: "<<"X2GO-"+resumingSession.sessionId;
+// x2goDebug<<"search proxy win: "<<"X2GO-"+resumingSession.sessionId;
proxyWinId=findWindow ( "X2GO-"+resumingSession.sessionId );
bool xinerama=defaultXinerama;
if ( proxyWinId )
@@ -9531,7 +9543,7 @@ void ONMainWindow::processSessionConfig()
QStringList lines=m_x2goconfig.split ( "\n" );
- for ( int i=0;i<lines.count();++i )
+ for ( int i=0; i<lines.count(); ++i )
{
QString line = lines[i];
if ( ( line=="-----BEGIN DSA PRIVATE KEY-----" ) ||
@@ -10449,8 +10461,8 @@ void ONMainWindow::slotSndTunOk()
void ONMainWindow::slotPCookieReady ( bool result,
- QString ,
- SshProcess* )
+ QString ,
+ SshProcess* )
{
if ( result )
slotStartParec();
@@ -10604,7 +10616,7 @@ void ONMainWindow::filterDesktops ( const QString& filter, bool strict )
modelDesktop->setItem ( nextRow,D_USER,item );
item= new QStandardItem ( desktop[1] );
modelDesktop->setItem ( nextRow++,D_DISPLAY,item );
- for ( int j=0;j<2;++j )
+ for ( int j=0; j<2; ++j )
{
QString txt=
modelDesktop->index (
@@ -10708,7 +10720,7 @@ QString ONMainWindow::u3DataPath()
{
QStringList env=QProcess::systemEnvironment();
QString dpath;
- for ( int i=0;i<env.size();++i )
+ for ( int i=0; i<env.size(); ++i )
{
// x2goDebug << env[i];
//check if we have U3 System
@@ -10749,7 +10761,7 @@ void ONMainWindow::removeDir ( QString path )
x2goDebug<<"entering " <<path;
QDir dr ( path );
QStringList files=dr.entryList ( QDir::Files );
- for ( int i=0;i<files.size();++i )
+ for ( int i=0; i<files.size(); ++i )
{
if ( files[i]!="known_hosts" || cleanAllFiles)
{
@@ -10758,7 +10770,7 @@ void ONMainWindow::removeDir ( QString path )
}
}
QStringList dirs=dr.entryList ( QDir::AllDirs|QDir::NoDotAndDotDot );
- for ( int i=0;i<dirs.size();++i )
+ for ( int i=0; i<dirs.size(); ++i )
{
removeDir ( path+"/"+dirs[i] );
}
@@ -10779,7 +10791,7 @@ long ONMainWindow::X11FindWindow ( QString text, long rootWin )
if ( XQueryTree ( QX11Info::display(),rootWin,&wRoot,&wParent,
&child_list,&nChildren ) )
{
- for ( uint i=0;i<nChildren;++i )
+ for ( uint i=0; i<nChildren; ++i )
{
char *wname;
if ( XFetchName ( QX11Info::display(),
diff --git a/onmainwindow.h b/onmainwindow.h
index f3969d5..9fd3527 100644
--- a/onmainwindow.h
+++ b/onmainwindow.h
@@ -716,6 +716,8 @@ private:
static QString u3Device;
QProcess* pulseServer;
+ QStringList pulseArgs;
+ QTimer* pulseTimer;
int xDisplay;
int sshdPort;
bool winServersReady;
@@ -859,6 +861,7 @@ private slots:
void startWinServers();
void slotCheckXOrgLog();
void slotCheckXOrgConnection();
+ void slotCheckPulse();
#endif
private slots:
void slotAppDialog();
hooks/post-receive
--
x2goclient.git (X2Go Client)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goclient.git" (X2Go Client).