This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from acbc897 Update comment for last commit and add to debian/changelog. (Fixes #422) new ed895e0 Windows: Fix cookie handling when PulseAudio is downgraded after cookie is created. 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: onmainwindow.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++----------- onmainwindow.h | 4 ++++ 2 files changed, 48 insertions(+), 11 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 ed895e030c52025c7e1ebce6e1d6b6e7c524f8d3 Author: Mike DePaulo <mikedep333@gmail.com> Date: Tue Mar 18 19:52:23 2014 -0400 Windows: Fix cookie handling when PulseAudio is downgraded after cookie is created. --- onmainwindow.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++----------- onmainwindow.h | 4 ++++ 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/onmainwindow.cpp b/onmainwindow.cpp index 638f826..fbae475 100644 --- a/onmainwindow.cpp +++ b/onmainwindow.cpp @@ -158,6 +158,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent ) homeDir=QDir::homePath(); #ifdef Q_OS_WIN + pulseVersionTest=0l; pulseServer=0l; xorg=0l; xDisplay=0; @@ -400,6 +401,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent ) #ifdef Q_OS_WIN winServersReady=false; saveCygnusSettings(); + pulseVersionIsLegacy=false; #endif initPassDlg(); initSelectSessDlg(); @@ -5147,20 +5149,26 @@ void ONMainWindow::slotRetResumeSess ( bool result, "/.pulse-cookie", this, SLOT ( slotPCookieReady ( bool, QString,int ))); } #else - QString cooFile; + // The only cookie file path used by PulseAudio 2.1 and earlier. + // These PulseAudio versions do not support overriding the cookie file path. + if (pulseVersionIsLegacy) + cooFile = wapiShortFileName ( homeDir ) + "/.x2go/pulse/.pulse-cookie"; // Default cookie file path used by PulseAudio 3.0 and later. // Cannot be overriden due to PulseAudio bug 75006. - if ( QFile::exists - (wapiShortFileName ( homeDir ) + "/.x2go/pulse/.config/pulse/cookie") ) + else { - cooFile = - (wapiShortFileName ( homeDir ) + "/.x2go/pulse/.config/pulse/cookie"); - } - else - { - /* The only cookie file path used by PulseAudio 2.1 and earlier. - PulseAudio 3.0 and later will still use it if the primary path DNE */ - cooFile = wapiShortFileName ( homeDir ) + "/.x2go/pulse/.pulse-cookie"; + if ( QFile::exists + (wapiShortFileName ( homeDir ) + "/.x2go/pulse/.config/pulse/cookie") ) + { + cooFile = + (wapiShortFileName ( homeDir ) + "/.x2go/pulse/.config/pulse/cookie"); + } + else + { + // PulseAudio 3.0 and later will still use this path if it exists + // but the defaultt path DNE */ + cooFile = wapiShortFileName ( homeDir ) + "/.x2go/pulse/.pulse-cookie"; + } } QString destFile="$HOME/.x2go/C-"+ @@ -9648,6 +9656,31 @@ void ONMainWindow::removeCygwinEntry() void ONMainWindow::startPulsed() { +#ifdef Q_OS_WIN + pulseVersionTest=new QProcess ( 0 ); + pulseVersionTest->start ( "pulse\\pulseaudio.exe --version" ); + + pulseVersionTest->waitForFinished(); + QString pulseVersionLine= + pulseVersionTest->readAllStandardOutput().replace("\n"," ").simplified(); + + x2goDebug <<"PulseAudio Version Line: "<<pulseVersionLine; + if (pulseVersionLine.contains("pulseaudio 0.", Qt::CaseInsensitive)) + pulseVersionIsLegacy = true; + if (pulseVersionLine.contains("pulseaudio 1.", Qt::CaseInsensitive)) + pulseVersionIsLegacy = true; + if (pulseVersionLine.contains("pulseaudio 2.", Qt::CaseInsensitive)) + pulseVersionIsLegacy = true; + + if (pulseVersionIsLegacy) + { + x2goDebug <<"PulseAudio <= 2.1 Detected. Using .pulse-cookie"; + } + else + { + x2goDebug <<"PulseAudio >= 3.0 Detected. Using .config/pulse/cookie or .pulse-cookie in that order."; + } +#endif while ( isServerRunning ( pulsePort ) ) ++pulsePort; esdPort=pulsePort+1; diff --git a/onmainwindow.h b/onmainwindow.h index afe63a7..faa2f97 100644 --- a/onmainwindow.h +++ b/onmainwindow.h @@ -773,6 +773,10 @@ private: bool winSshdStarted; static QString u3Device; + QString cooFile; + QString pulseVersionTestOutput; + QProcess* pulseVersionTest; + bool pulseVersionIsLegacy; QProcess* pulseServer; QStringList pulseArgs; QTimer* pulseTimer; -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git