This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 51a0b54 src/sshprocess.cpp: bind direct tunnel socket to localhost instead of any address. Fixes: #31. new 32e36a2 src/onmainwindow.cpp: check for sessionExplorer->getLastSession() to be valid in all places but obvious ones. Fixes: #499. 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 | 2 + src/onmainwindow.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 99 insertions(+), 9 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goclient.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 32e36a2e608943d12f473b11d5d4ed9aace5a782 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed Mar 1 07:24:32 2017 +0100 src/onmainwindow.cpp: check for sessionExplorer->getLastSession() to be valid in all places but obvious ones. Fixes: #499. --- debian/changelog | 2 + src/onmainwindow.cpp | 106 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 99 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index f426aac..f1bff6b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -127,6 +127,8 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium - res/i18n/x2goclient_fi.ts: remove outdated comment. - src/sshprocess.cpp: bind direct tunnel socket to localhost instead of any address. Fixes: #31. + - src/onmainwindow.cpp: check for sessionExplorer->getLastSession() to be + valid in all places but obvious ones. Fixes: #499. [ Oleksandr Shneyder ] * New upstream version (4.1.0.1): diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index be99196..57363ff 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -1199,8 +1199,14 @@ void ONMainWindow::trayIconInit() if (sessionStatusDlg && sessionStatusDlg->isVisible()) { - if (!useLdap) - trayIconActiveConnectionMenu->setTitle(sessionExplorer->getLastSession()->name()); + if (!useLdap) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not setting tray icon title."; + } + else { + trayIconActiveConnectionMenu->setTitle(sessionExplorer->getLastSession()->name()); + } + } else trayIconActiveConnectionMenu->setTitle(lastUser->username()); } @@ -3224,7 +3230,10 @@ void ONMainWindow::slotSessEnter() } } - + if ((brokerMode || !embedMode) && !(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without starting a session."; + return; + } resumingSession.sessionId=QString::null; resumingSession.server=QString::null; @@ -3301,6 +3310,11 @@ void ONMainWindow::continueLDAPSession() #ifdef Q_OS_LINUX void ONMainWindow::startDirectRDP() { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without starting a session."; + return; + } + X2goSettings* st; if(brokerMode) { @@ -3999,8 +4013,17 @@ void ONMainWindow::startNewSession() st= new X2goSettings(config.iniFile,QSettings::IniFormat); QString sid; - if ( !embedMode ) + if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without starting a session."; + + delete st; + + return; + } + sid=sessionExplorer->getLastSession()->id(); + } else sid="embedded"; pack=st->setting()->value ( sid+"/pack", @@ -4349,8 +4372,14 @@ void ONMainWindow::resumeSession ( const x2goSession& s ) { QString sid; - if ( !embedMode ) + if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without resuming a session."; + return; + } + sid=sessionExplorer->getLastSession()->id(); + } else sid="embedded"; X2goSettings* st; @@ -4587,6 +4616,8 @@ void ONMainWindow::setTrayIconToSessionIcon(QString info) { //send a information notification about the connection is done trayIcon->showMessage("X2Go - " + name, info, QSystemTrayIcon::Information, 15000); + + delete (st); } } @@ -4713,12 +4744,20 @@ void ONMainWindow::selectSession ( QStringList& sessions ) if (!brokerMode) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without starting a shadow session."; + return; + } + st=new X2goSettings( "sessions" ); QString sid=sessionExplorer->getLastSession()->id(); QString suser = st->setting()->value(sid + "/shadowuser", (QVariant) QString::null).toString(); QString sdisplay = st->setting()->value(sid + "/shadowdisplay", (QVariant) QString::null).toString(); bool fullAccess= st->setting()->value(sid + "/shadowfullaccess", (QVariant) false).toBool(); + + delete (st); + if(suser != QString::null && sdisplay != QString::null) { shadowUser=suser; @@ -4870,6 +4909,12 @@ void ONMainWindow::slotSuspendSess() else { X2goSettings st ( "sessions" ); + + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without suspending a session."; + return; + } + QString sid=sessionExplorer->getLastSession()->id(); host=st.setting()->value ( sid+"/host", ( QVariant ) host ).toString(); @@ -5014,6 +5059,11 @@ void ONMainWindow::slotTermSess() { X2goSettings st ( "sessions" ); + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, returning without terminating a session."; + return; + } + QString sid=sessionExplorer->getLastSession()->id(); } } @@ -5133,8 +5183,14 @@ void ONMainWindow::slotRetResumeSess ( bool result, else { QString sid; - if ( !embedMode ) + if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, this should not happen since we already started resuming a session."; + return; + } + sid=sessionExplorer->getLastSession()->id(); + } else sid="embedded"; @@ -6664,6 +6720,11 @@ void ONMainWindow::runCommand() command=sessionCmd; else { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not running command."; + return; + } + QString sid=sessionExplorer->getLastSession()->id(); command=st->setting()->value ( sid+"/command", @@ -8048,6 +8109,11 @@ void ONMainWindow::exportDirs ( QString exports,bool removable ) { X2goSettings st ( "sessions" ); + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not exporting directories."; + return; + } + QString sid=sessionExplorer->getLastSession()->id(); fsInTun=st.setting()->value ( sid+"/fstunnel", @@ -8089,6 +8155,10 @@ void ONMainWindow::exportDefaultDirs() { if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not exporting default directories."; + return; + } X2goSettings* st; if (!brokerMode) @@ -9691,8 +9761,14 @@ void ONMainWindow::startX2goMount() if ( !useLdap ) { QString sid; - if ( !embedMode ) + if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not calling startx2gomount command."; + return; + } + sid=sessionExplorer->getLastSession()->id(); + } else sid="embedded"; if ( st.setting()->value ( @@ -10801,8 +10877,14 @@ void ONMainWindow::setProxyWinTitle() QString title; - if (!useLdap) + if (!useLdap) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not setting proxy window title."; + return; + } + title=sessionExplorer->getLastSession()->name(); + } else title=getCurrentUname()+"@"+resumingSession.server; @@ -11053,8 +11135,14 @@ void ONMainWindow::slotFindProxyWin() { X2goSettings *st; QString sid; - if ( !embedMode ) + if ( !embedMode ) { + if (!(sessionExplorer->getLastSession())) { + x2goDebug << "No session selected, not searching for proxy window."; + return; + } + sid=sessionExplorer->getLastSession()->id(); + } else sid="embedded"; -- Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git