This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from d2c5c19 Update changelog about being able to build under VS2010 (Fixes: #642) new ab034de Windows: Fix compatibility with PulseAudio 6.0 by specifying an absolute path to the cookie The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 1 + onmainwindow.cpp | 44 ++++++++++++++++++++++++++++++-------------- onmainwindow.h | 3 +++ 3 files changed, 34 insertions(+), 14 deletions(-) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit ab034de9da7c31013d07db866c6a995f10436f08 Author: Mike DePaulo <mikedep333@gmail.com> Date: Mon Dec 8 06:03:43 2014 -0500 Windows: Fix compatibility with PulseAudio 6.0 by specifying an absolute path to the cookie --- debian/changelog | 1 + onmainwindow.cpp | 44 ++++++++++++++++++++++++++++++-------------- onmainwindow.h | 3 +++ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/debian/changelog b/debian/changelog index edeb609..d121d47 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ x2goclient (4.0.3.2-0x2go1) UNRELEASED; urgency=medium [ Mike DePaulo ] * New upstream release (4.0.3.2): + - Windows: Fix compatibility with PulseAudio 6.0 - Windows: Enable X2Go Client for Windows to build under VS2010 nmake (but not the VS2010 IDE due to a Qt4 Visual Studio Add-in limitation) Note that the official builds are still build under MinGW. diff --git a/onmainwindow.cpp b/onmainwindow.cpp index 4f9d64d..1358cf8 100644 --- a/onmainwindow.cpp +++ b/onmainwindow.cpp @@ -9647,13 +9647,15 @@ void ONMainWindow::startPulsed() while ( isServerRunning ( esdPort ) ) ++esdPort; - pulseDir=homeDir+"/.x2go/pulse"; + // The permanent dir for the pulse auth cookie + pulseBaseDir=homeDir+"/.x2go/pulse"; QDir dr ( homeDir ); - dr.mkpath ( pulseDir ); - pulseDir=wapiShortFileName ( pulseDir ); + dr.mkpath ( pulseBaseDir ); + // The tempoerary dir for config.pa (and pulse.log if it exists) + pulseDir=pulseBaseDir; + pulseDir=wapiShortFileName ( pulseDir ); x2goDebug<<"pulse template: "<<pulseDir+"/tmp"; - QTemporaryFile* fl=new QTemporaryFile ( pulseDir+"/tmp" ); fl->open(); pulseDir=fl->fileName(); @@ -9669,7 +9671,7 @@ void ONMainWindow::startPulsed() { if ( pEnv[i].indexOf ( "USERPROFILE=" ) !=-1 ) pEnv[i]="USERPROFILE="+ - QDir::toNativeSeparators( wapiShortFileName( homeDir+"/.x2go/pulse")); + QDir::toNativeSeparators( wapiShortFileName( pulseBaseDir )); if ( pEnv[i].indexOf ( "TEMP=" ) !=-1 ) pEnv[i]="TEMP="+pulseDir; if ( pEnv[i].indexOf ( "USERNAME=" ) !=-1 ) @@ -9680,9 +9682,16 @@ void ONMainWindow::startPulsed() if ( !file.open ( QIODevice::WriteOnly | QIODevice::Text ) ) return; QTextStream out ( &file ); - // http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modul... - // auth-cookie is relative to %USERPROFILE% - // Setting auth-cookie fixes bug #422 + /* + Reference: + http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modul... + + Setting auth-cookie fixes bug #422 + + PulseAudio 6.0 changed the path that auth-cookie is relative to, so + Tanu Kaskinen recommended we specify the absolute path instead. + The abs path works with at least 5.0 and 6.0 + */ if (pulseVersionIsLegacy) { out << "load-module module-native-protocol-tcp port="+ @@ -9690,9 +9699,13 @@ void ONMainWindow::startPulsed() } else { + pulseCookieArg="auth-cookie="+ + QDir::toNativeSeparators (wapiShortFileName( pulseBaseDir))+ + "\\.pulse-cookie"; + // Double backslashes are required in config.pa + pulseCookieArg.replace("\\", "\\\\"); out << "load-module module-native-protocol-tcp port="+ - QString::number ( pulsePort )+ - " auth-cookie="+"\\.pulse-cookie" <<endl; + QString::number ( pulsePort )+" "+pulseCookieArg <<endl; } out << "load-module module-esound-protocol-tcp port="+ QString::number ( esdPort ) <<endl; @@ -9702,12 +9715,15 @@ void ONMainWindow::startPulsed() pulseServer->setEnvironment ( pEnv ); pulseArgs.clear(); #ifdef Q_OS_WIN - QDir drr(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime"); + // FIXME: Explain why this dir needs to be created. + pulseRuntimeDir=pulseBaseDir+"/.pulse/"+QHostInfo::localHostName ()+"-runtime"; + QDir drr(pulseRuntimeDir); if (!drr.exists()) drr.mkpath(drr.path()); - if (QFile::exists(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime/pid")) - QFile::remove(homeDir+"/.x2go/pulse/.pulse/"+QHostInfo::localHostName ()+"-runtime/pid"); - pulseDir.replace("/","\\"); + if (QFile::exists(pulseRuntimeDir+"/pid")) + QFile::remove(pulseRuntimeDir+"/pid"); + + pulseDir=QDir::toNativeSeparators( pulseDir ); pulseArgs<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"\\config.pa"; if (debugging) pulseArgs<<"--log-level=debug"<<"--verbose"<<"--log-target=file:"+pulseDir+"\\pulse.log"; diff --git a/onmainwindow.h b/onmainwindow.h index e987a22..e50b400 100644 --- a/onmainwindow.h +++ b/onmainwindow.h @@ -836,6 +836,9 @@ private: bool cyEntry; QString pulseDir; + QString pulseBaseDir; + QString pulseRuntimeDir; + QString pulseCookieArg; int pulsePort; int esdPort; bool maximizeProxyWin; -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git