[X2Go-Commits] [x2goclient] 01/01: Check if PulseAudio running at session start and resuming when sound is enabled. Show warning if PulseAudio not running and disable the sound support for the session to avoid session freezes.

git-admin at x2go.org git-admin at x2go.org
Tue May 16 12:09:51 CEST 2017


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goclient.

commit db9039c56acd0315b04ecf017d1e81e35f9f5210
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Tue May 16 12:08:44 2017 +0200

    Check if PulseAudio running at session start and resuming when sound is enabled. Show warning if PulseAudio not running and disable the sound support for the session to avoid session freezes.
---
 debian/changelog     |  4 ++++
 src/onmainwindow.cpp | 30 +++++++++++++++++-------------
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b1a0ec9..cf4afd0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -169,6 +169,10 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium
       New command line options:
       --disable-pulse to disable start of PulseAudio
       --disable-pulse-record to disable audio input.
+    - Check if PulseAudio running at session start and resuming
+      when sound is enabled. Show warning if PulseAudio not running
+      and disable the sound support for the session to avoid
+      session freezes.
 
   [ Robert Parts ]
   * New upstream version (4.1.0.1):
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index 13d0986..3921a74 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -5358,21 +5358,25 @@ void ONMainWindow::slotRetResumeSess ( bool result,
 
 #if defined (Q_OS_WIN) || defined (Q_OS_DARWIN)
         if (sound) {
-            /*
-             * PulseManager::start () can be called even if the server
-             * is already started. In this case, it will do nothing.
-             */
-            pulseManager->start ();
+            if(!pulseManager || !(pulseManager->is_server_running()))
+	    {
+	        show_RichText_WarningMsgBox (tr("PulseAudio is not running"),
+					     tr("Sound output will be disabled for this session. Please enable PulseAudio in the configuration dialog or disable sound in the session settings"),true);
+		sound=false;
+	    }
+	    else
+	    {
+                switch (sndSystem) {
+                    case PULSE:
+                        sndPort = QString::number (pulseManager->get_pulse_port ());
+                    break;
+                    case ESD:
+                        sndPort = QString::number (pulseManager->get_esd_port ());
+                    break;
+               }
+	    }
         }
 
-        switch (sndSystem) {
-            case PULSE:
-                sndPort = QString::number (pulseManager->get_pulse_port ());
-                break;
-            case ESD:
-                sndPort = QString::number (pulseManager->get_esd_port ());
-                break;
-        }
 #endif /* defined (Q_OS_WIN) || defined (Q_OS_DARWIN) */
 
         delete st;

--
Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git


More information about the x2go-commits mailing list