This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 1c6ede3 Revert "Revert accidental config_win.bat code in 5bb4a33" new 24c2724 Start x2gohelper from X2Go Client. Revert name changing of X2Go Client and x2gohelper 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: config_win.bat | 3 +-- debian/changelog | 2 ++ onmainwindow.cpp | 7 +++---- x2goclient.pro | 2 -- x2gohelper/x2gohelper.cpp | 47 +++++++++++++++++++++++---------------------- x2gohelper/x2gohelper.pro | 14 -------------- 6 files changed, 30 insertions(+), 45 deletions(-) delete mode 100644 x2gohelper/x2gohelper.pro -- 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 24c27245242808c09bc8083e88e7bbf051647be9 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Fri Jul 11 10:04:08 2014 +0200 Start x2gohelper from X2Go Client. Revert name changing of X2Go Client and x2gohelper --- config_win.bat | 3 +-- debian/changelog | 2 ++ onmainwindow.cpp | 7 +++---- x2goclient.pro | 2 -- x2gohelper/x2gohelper.cpp | 47 +++++++++++++++++++++++---------------------- x2gohelper/x2gohelper.pro | 14 -------------- 6 files changed, 30 insertions(+), 45 deletions(-) diff --git a/config_win.bat b/config_win.bat index 8bd1f36..a96af19 100755 --- a/config_win.bat +++ b/config_win.bat @@ -3,6 +3,5 @@ lrelease x2goclient.pro set X2GO_CLIENT_TARGET= qmake cd x2gohelper -mingw32-make distclean -qmake +mingw32-make clean cd .. diff --git a/debian/changelog b/debian/changelog index 9b5ecfa..25a6049 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,8 @@ x2goclient (4.0.3.0-0x2go1) UNRELEASED; urgency=low X2Go Client crashes. (Fixes: #525). - On Windows rename x2goclient.exe to x2goclient-mainprocess.exe and x2gohelper.exe to x2goclient.exe. + - Start x2gohelper from X2Go Client. Revert name changing of X2Go Client and + x2gohelper [ Mike DePaulo ] * New upstream release (4.0.3.0): diff --git a/onmainwindow.cpp b/onmainwindow.cpp index 8390cbe..8acec61 100644 --- a/onmainwindow.cpp +++ b/onmainwindow.cpp @@ -430,12 +430,11 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent ) } #ifdef Q_OS_WIN + QProcess::startDetached("x2gohelper.exe "+QString::number(GetCurrentProcessId())); QTimer::singleShot ( 500, this, SLOT ( startWinServers() ) ); - #endif - mainL->setSpacing ( 0 ); mainL->setMargin ( 0 ); mainL->insertWidget ( 0, bgFrame ); @@ -9842,11 +9841,11 @@ void ONMainWindow::startPulsed() ever ship 1.1 again. */ if (QSysInfo::WindowsVersion == QSysInfo::WV_XP || - QSysInfo::WindowsVersion == QSysInfo::WV_2003 ) + QSysInfo::WindowsVersion == QSysInfo::WV_2003 ) { x2goDebug<<"Windows XP or Server 2003 (R2) detected."; x2goDebug<<"Setting PulseAudio to \"Normal\" CPU priority."; - pulseArgs<<"--high-priority=no"; + pulseArgs<<"--high-priority=no"; } #else pulseArgs<<"--exit-idle-time=-1"<<"-n"<<"-F"<<pulseDir+"/config.pa"; diff --git a/x2goclient.pro b/x2goclient.pro index 386b6aa..99d0fb7 100755 --- a/x2goclient.pro +++ b/x2goclient.pro @@ -182,8 +182,6 @@ win32-* { message(building $$TARGET for windows without ldap and cups) LIBS += -lwinspool -lws2_32 CONFIG += static release - TARGET = x2goclient-mainprocess - } QT += svg network ICON = icons/x2go-mac.icns diff --git a/x2gohelper/x2gohelper.cpp b/x2gohelper/x2gohelper.cpp index d12214c..3a90e44 100644 --- a/x2gohelper/x2gohelper.cpp +++ b/x2gohelper/x2gohelper.cpp @@ -14,15 +14,9 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * ***************************************************************************/ -#include <iostream> -using namespace std; #include <windows.h> #include <TlHelp32.h> -#include <QStringList> -#include <QProcess> -#include <QDebug> - void killProcess(DWORD pid) { HANDLE handle=OpenProcess(PROCESS_TERMINATE,0,pid); @@ -42,7 +36,7 @@ void enumerateFromParent(DWORD pid) HANDLE hndl=CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); if(hndl==INVALID_HANDLE_VALUE) { - qCritical()<<"failed to get system snapshot"; + //Failed to get system snapshot return; } PROCESSENTRY32 pentry; @@ -53,6 +47,11 @@ void enumerateFromParent(DWORD pid) { if(pid==pentry.th32ParentProcessID) { + if(pentry.th32ProcessID == GetCurrentProcessId()) + { + //skip own process + continue; + } enumerateFromParent(pentry.th32ProcessID); killProcess(pentry.th32ProcessID); } @@ -63,28 +62,30 @@ void enumerateFromParent(DWORD pid) int main(int argc, char* argv[]) { - QStringList args; - //argv[0] is allways "x2gohelper.exe" - for(int i=1; i< argc; ++i) + if(argc!=2) { - args<<argv[i]; + //wrong number of arguments + return -1; } - QProcess proc; - QString executable="x2goclient-mainprocess.exe"; - proc.start(executable, args); - if(!proc.waitForStarted(4000)) + + DWORD pid=atoi(argv[1]); + if(!pid) { - qCritical()<<"Can't start process"; + //error converting argument to int; return -1; } - DWORD pid=proc.pid()->dwProcessId; - while(!proc.waitForFinished(300)) + + HANDLE handle=OpenProcess(SYNCHRONIZE,0,pid); + if(!handle) { - QString err=proc.readAllStandardError(); - QString out=proc.readAllStandardOutput(); - std::cerr<<err.toStdString(); - std::cout<<out.toStdString(); + //error open process + return -1; + } + //waiting for process to finish + if(WaitForSingleObject(handle,INFINITE)!=WAIT_FAILED) + { + enumerateFromParent(pid); } - enumerateFromParent(pid); + CloseHandle(handle); return 0; } diff --git a/x2gohelper/x2gohelper.pro b/x2gohelper/x2gohelper.pro deleted file mode 100644 index f30508b..0000000 --- a/x2gohelper/x2gohelper.pro +++ /dev/null @@ -1,14 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Di. Jul 8 10:58:26 2014 -###################################################################### - -TEMPLATE = app -TARGET = x2goclient -DEPENDPATH += . -INCLUDEPATH += . - -# Input -SOURCES += x2gohelper.cpp -QT -= gui -CONFIG += static release -#CONFIG += console -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git