[X2Go-Commits] [x2goclient] 01/01: Fix reading settings for direct RDP connections in broker mode.

git-admin at x2go.org git-admin at x2go.org
Wed Mar 2 16:41:29 CET 2016


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

x2go pushed a commit to branch master
in repository x2goclient.

commit ab49fd6212e3c5c4b57589dbbe9608d4fa032339
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Wed Mar 2 16:41:21 2016 +0100

    Fix reading settings for direct RDP connections in broker mode.
---
 debian/changelog     |    1 +
 src/onmainwindow.cpp |   42 +++++++++++++++++++++++++++++++-----------
 2 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index fde27d6..dfa18d5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -75,6 +75,7 @@ x2goclient (4.0.5.1-0x2go1) UNRELEASED; urgency=low
     - Format long names on session buttons.
     - Central settings for Linux, Mac and Windows.
     - Fix VCXSRV parameter to disable PRIMARY clipboard in X2Go Client for Windows. Fixes: #927.
+    - Fix reading settings for direct RDP connections in broker mode.
 
   [ Mike Gabriel ]
   * New upstream release (4.0.5.1):
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index 0f3d181..be4de32 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -3179,8 +3179,16 @@ void ONMainWindow::continueLDAPSession()
 #ifdef Q_OS_LINUX
 void ONMainWindow::startDirectRDP()
 {
+    X2goSettings* st;
+    if(brokerMode)
+    {
+        st=new X2goSettings(config.iniFile, QSettings::IniFormat);
+    }
+    else
+    {
+        st=new X2goSettings ( "sessions" );
+    }
 
-    X2goSettings st ( "sessions" );
     QString sid;
     bool freeRDPNew=false;
     if ( !embedMode )
@@ -3189,32 +3197,42 @@ void ONMainWindow::startDirectRDP()
         sid="embedded";
 
 
-    bool fullscreen=st.setting()->value ( sid+"/fullscreen",
+    bool fullscreen=st->setting()->value ( sid+"/fullscreen",
                                           ( QVariant )
                                           defaultFullscreen ).toBool();
-    bool maxRes=st.setting()->value ( sid+"/maxdim",
+    bool maxRes=st->setting()->value ( sid+"/maxdim",
                                       ( QVariant )
                                       false ).toBool();
-    int height=st.setting()->value ( sid+"/height",
+    int height=st->setting()->value ( sid+"/height",
                                      ( QVariant ) defaultHeight ).toInt();
-    int width=st.setting()->value ( sid+"/width",
+    int width=st->setting()->value ( sid+"/width",
                                     ( QVariant ) defaultWidth ).toInt();
 
-    QString client=st.setting()->value ( sid+"/rdpclient",
+    QString client=st->setting()->value ( sid+"/rdpclient",
                                          ( QVariant ) "rdesktop").toString();
     if(client=="xfreerdpnew")
     {
         client="xfreerdp";
         freeRDPNew=true;
     }
-    QString host=st.setting()->value ( sid+"/host",
+    QString host=st->setting()->value ( sid+"/host",
                                        ( QVariant ) "").toString();
-    QString port=st.setting()->value ( sid+"/rdpport",
+    QString port=st->setting()->value ( sid+"/rdpport",
                                        ( QVariant ) "3389").toString();
-    QString params=st.setting()->value ( sid+"/directrdpsettings",
+    QString params=st->setting()->value ( sid+"/directrdpsettings",
                                          ( QVariant ) "").toString();
-    QString user=login->text();
-    QString password=pass->text();
+
+    QString user,password;
+    if(!brokerMode)
+    {
+        user=login->text();
+        password=pass->text();
+    }
+    else
+    {
+        user=st->setting()->value ( sid+"/user",
+                                       ( QVariant ) "").toString();
+    }
 
     nxproxy=new QProcess;
     proxyErrString="";
@@ -3286,6 +3304,7 @@ void ONMainWindow::startDirectRDP()
         }
         proxyCmd= client +" "+params+ grOpt +userOpt+passOpt + "/v:"+host +":"+port ;
     }
+//     x2goDebug<<"starting direct session with cmd:"<<proxyCmd;
     nxproxy->start ( proxyCmd );
     resumingSession.display="RDP";
     resumingSession.server=host;
@@ -3294,6 +3313,7 @@ void ONMainWindow::startDirectRDP()
     showSessionStatus();
 //     QTimer::singleShot ( 30000,this,SLOT ( slotRestartProxy() ) );
     proxyRunning=true;
+    delete st;
 }
 
 #endif

--
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