From unknown Thu Apr 09 03:54:24 2026
X-Loop: owner@bugs.x2go.org
Subject: Bug#101: [PATCH] Make application suspend session on quit
Reply-To: Ezra Buehler <lists@easyb.ch>, 101@bugs.x2go.org
Resent-From: Ezra Buehler <lists@easyb.ch>
Resent-To: x2go-dev@lists.berlios.de
Resent-CC: X2Go Developers <x2go-dev@lists.berlios.de>
X-Loop: owner@bugs.x2go.org
Resent-Date: Sat, 20 Apr 2013 21:03:01 +0000
Resent-Message-ID: <handler.101.B101.136649165723534@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: followup 101
X-X2Go-PR-Package: x2goclient
X-X2Go-PR-Keywords: 
Received: via spool by 101-submit@bugs.x2go.org id=B101.136649165723534
          (code B ref 101); Sat, 20 Apr 2013 21:03:01 +0000
Received: (at 101) by bugs.x2go.org; 20 Apr 2013 21:00:57 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.2
Received: from mail-wi0-f177.google.com (mail-wi0-f177.google.com [209.85.212.177])
	by ymir (Postfix) with ESMTPS id BE96B5DB20
	for <101@bugs.x2go.org>; Sat, 20 Apr 2013 23:00:56 +0200 (CEST)
Received: by mail-wi0-f177.google.com with SMTP id hj19so2466588wib.16
        for <101@bugs.x2go.org>; Sat, 20 Apr 2013 14:00:56 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20120113;
        h=x-received:from:content-type:subject:message-id:date:to
         :mime-version:x-mailer:x-gm-message-state;
        bh=DfKVYQ6neUBXuf+amcoNXArOCHs14LoXEiO41aT8LO4=;
        b=NGsMMIUpYwuDWtfZSjXkDnlVi1BkW4KAWhg6rkoGxb/54edRCdgeOFQcFFlenwHKl/
         eEVhA1c7K1k1W66eDDKwpwmAWLGh2Vx643pFu4uwlLm94ayc5p5Bp3Lct5Rts3C7X8LH
         D9OOCT70I8id89gb/ryAD4wHZHAgdHslO//2/HDGE+nuD/oM3MGzWAm81owfg8Qit9Bx
         EX3l2P5VVvGP8OVYF7vSc+d0sXGMkuGvo9CH6I+vNWA26VDoiUj2bhER0maO6BVk1Tq8
         2WPRPnz6+l5SbxUydL/tKHsZLYHNYnmxABnxo6Sx0CoskR7jjFG26Brc3NvoJJYT1ylT
         Ly2w==
X-Received: by 10.180.24.65 with SMTP id s1mr37286842wif.0.1366491656473;
        Sat, 20 Apr 2013 14:00:56 -0700 (PDT)
Received: from [10.0.0.4] (46-127-89-101.dynamic.hispeed.ch. [46.127.89.101])
        by mx.google.com with ESMTPS id u44sm31227034eel.7.2013.04.20.14.00.55
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Sat, 20 Apr 2013 14:00:55 -0700 (PDT)
From: Ezra Buehler <lists@easyb.ch>
Content-Type: multipart/mixed; boundary="Apple-Mail=_BA8BE7E7-3E1E-4A64-A753-26846A1353AF"
Message-Id: <3DEF701A-6164-4DC4-9328-B6CE0BEE8BC0@easyb.ch>
Date: Sat, 20 Apr 2013 23:00:54 +0200
To: 101@bugs.x2go.org
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
X-Mailer: Apple Mail (2.1503)
X-Gm-Message-State: ALoCoQnIz3aEjQrK4iUsgTNWP+w0qPY8KHFjEf6HAXmxiGuuAimiu7rJOfo1uq+8DFAhzCBvuarR


--Apple-Mail=_BA8BE7E7-3E1E-4A64-A753-26846A1353AF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

Hi

Finally I got around to doing some work on your project. Following patch =
will not fully eliminate the problem, but it will at least do the trick =
for me ;)
I will try to fix the resuming issue too, but I can't promise that I =
will figure out how to=85

And PLEASE use the e-mail address supplied in the patch (which is =
perfectly fine) when applying it, not like last time. I don't like =
having my good address out on the internet.

Cheers,
Ezra.


--Apple-Mail=_BA8BE7E7-3E1E-4A64-A753-26846A1353AF
Content-Disposition: attachment;
	filename=0001-Make-application-suspend-session-on-quit.patch
Content-Type: application/octet-stream;
	name="0001-Make-application-suspend-session-on-quit.patch"
Content-Transfer-Encoding: quoted-printable

=46rom=205208d2343226247d70e4ad3af4cfbb60c9fb14ed=20Mon=20Sep=2017=20=
00:00:00=202001=0AFrom:=20Ezra=20Buehler=20<spam@easyb.ch>=0ADate:=20=
Sat,=2020=20Apr=202013=2021:41:12=20+0200=0ASubject:=20[PATCH]=20Make=20=
application=20suspend=20session=20on=20quit=0A=0A---=0A=20=
onmainwindow.cpp=20|=20=20=2031=20++++++++++++++++++-------------=0A=20=
onmainwindow.h=20=20=20|=20=20=20=204=20++--=0A=202=20files=20changed,=20=
20=20insertions(+),=2015=20deletions(-)=0A=0Adiff=20--git=20=
a/onmainwindow.cpp=20b/onmainwindow.cpp=0Aindex=2031dbc17..f9885eb=20=
100644=0A---=20a/onmainwindow.cpp=0A+++=20b/onmainwindow.cpp=0A@@=20=
-100,6=20+100,7=20@@=20ONMainWindow::ONMainWindow=20(=20QWidget=20=
*parent=20)=20:QMainWindow=20(=20parent=20)=0A=20=20=20=20=20=
lastSession=3D0l;=0A=20=20=20=20=20changeBrokerPass=3Dfalse;=0A=20=20=20=20=
=20resumeAfterSuspending=3Dfalse;=0A+=20=20=20=20=
quitAfterSuspending=3Dfalse;=0A=20=0A=20=20=20=20=20appSeparator=3D0;=0A=20=
=20=20=20=20config.brokerNoAuth=3Dfalse;=0A@@=20-793,7=20+794,7=20@@=20=
void=20ONMainWindow::initWidgetsNormal()=0A=20=20=20=20=20connect=20(=20=
act_edit,SIGNAL=20(=20triggered=20(=20bool=20)=20),this,=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20SLOT=20(=20slotManage()=20)=20);=0A=20=20=20=
=20=20connect=20(=20act_exit,SIGNAL=20(=20triggered=20(=20bool=20)=20=
),this,=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20SLOT=20(=20=
trayQuit())=20)=20;=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20SLOT=20=
(=20closeClient())=20)=20;=0A=20=20=20=20=20connect=20(=20act_tb,SIGNAL=20=
(=20toggled=20(=20bool=20)=20),this,=0A=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20SLOT=20(=20displayToolBar=20(=20bool=20)=20)=20);=0A=20=0A@@=20=
-1064,7=20+1065,7=20@@=20void=20ONMainWindow::trayIconInit()=0A=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=
trayIconActiveConnectionMenu->setEnabled(false);=0A=20=20=20=20=20=20=20=20=
=20=20=20=20=20}=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=
trayIconMenu->addSeparator();=0A-=20=20=20=20=20=20=20=20=20=20=20=20=
trayIconMenu->addAction(tr("Quit"),this,=20SLOT(trayQuit()));=0A+=20=20=20=
=20=20=20=20=20=20=20=20=20trayIconMenu->addAction(tr("Quit"),this,=20=
SLOT(closeClient()));=0A=20=0A=20=20=20=20=20=20=20=20=20=20=20=20=20//=20=
setup=20the=20tray=20icon=20itself=0A=20=20=20=20=20=20=20=20=20=20=20=20=
=20trayIcon=20=3D=20new=20QSystemTrayIcon(this);=0A@@=20-1237,6=20=
+1238,12=20@@=20void=20ONMainWindow::slotResize=20(=20const=20QSize=20sz=20=
)=0A=20=0A=20void=20ONMainWindow::closeClient()=0A=20{=0A+=20=20=20=20if=20=
(nxproxy=20&&=20!quitAfterSuspending)=20{=0A+=20=20=20=20=20=20=20=20=
quitAfterSuspending=3Dtrue;=0A+=20=20=20=20=20=20=20=20=
slotSuspendSessFromSt();=0A+=20=20=20=20=20=20=20=20return;=0A+=20=20=20=20=
}=0A+=0A=20=20=20=20=20if(trayIcon)=0A=20=20=20=20=20=20=20=20=20=
trayIcon->hide();=0A=20=20=20=20=20closeEventSent=3Dtrue;=0A@@=20=
-1403,19=20+1410,23=20@@=20void=20ONMainWindow::closeClient()=0A=20=20=20=
=20=20=20=20=20=20cleanPortable();=0A=20=20=20=20=20}=0A=20=20=20=20=20=
SshMasterConnection::finalizeLibSsh();=0A+=0A+=20=20=20=20qApp->quit();=0A=
=20}=0A=20=0A=20void=20ONMainWindow::closeEvent=20(=20QCloseEvent*=20=
event=20)=0A=20{=0A=20=20=20=20=20x2goDebug<<"close=20event";=0A+=0A+=20=20=
=20=20event->ignore();=0A+=0A=20=20=20=20=20if=20(trayNoclose=20&&=20=
!brokerMode)=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20=20=20hide();=0A-=20=
=20=20=20=20=20=20=20event->ignore();=0A=20=20=20=20=20}=0A=20=20=20=20=20=
else=0A=20=20=20=20=20{=0A-=20=20=20=20=20=20=20=20trayQuit();=0A+=20=20=20=
=20=20=20=20=20closeClient();=0A=20=20=20=20=20}=0A=20}=0A=20=0A@@=20=
-1429,15=20+1440,6=20@@=20void=20ONMainWindow::hideEvent(QHideEvent*=20=
event)=0A=20=20=20=20=20=20=20=20=20hide();=0A=20}=0A=20=0A-=0A-=0A-void=20=
ONMainWindow::trayQuit()=0A-{=0A-=20=20=20=20closeClient();=0A-=20=20=20=20=
qApp->quit();=0A-=0A-}=0A-=0A=20void=20=
ONMainWindow::trayIconActivated(QSystemTrayIcon::ActivationReason=20=
reason=20)=0A=20{=0A=20=20=20=20=20switch=20(reason)=20{=0A@@=20-4466,6=20=
+4468,9=20@@=20void=20ONMainWindow::slotRetSuspSess=20(=20bool=20result,=20=
QString=20output,=0A=20=20=20=20=20{=0A=20=20=20=20=20=20=20=20=20=
slotResumeSess();=0A=20=20=20=20=20}=0A+=20=20=20=20if=20=
(quitAfterSuspending)=20{=0A+=20=20=20=20=20=20=20=20closeClient();=0A+=20=
=20=20=20}=0A=20}=0A=20=0A=20=0Adiff=20--git=20a/onmainwindow.h=20=
b/onmainwindow.h=0Aindex=20b51caca..069d111=20100644=0A---=20=
a/onmainwindow.h=0A+++=20b/onmainwindow.h=0A@@=20-562,6=20+562,7=20@@=20=
private:=0A=20=20=20=20=20bool=20cleanAllFiles;=0A=20=20=20=20=20bool=20=
PGPInited;=0A=20=20=20=20=20bool=20resumeAfterSuspending;=0A+=20=20=20=20=
bool=20quitAfterSuspending;=0A=20=20=20=20=20QString=20sshPort;=0A=20=20=20=
=20=20QString=20clientSshPort;=0A=20=20=20=20=20QString=20=
defaultSshPort;=0A@@=20-875,7=20+876,6=20@@=20private:=0A=20=20=20=20=20=
void=20externalLogin=20(=20const=20QString&=20loginDir=20);=0A=20=20=20=20=
=20void=20startGPGAgent=20(=20const=20QString&=20login,=0A=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20const=20=
QString&=20appId=20);=0A-=20=20=20=20void=20closeClient();=0A=20=20=20=20=
=20void=20continueNormalSession();=0A=20=20=20=20=20void=20=
continueLDAPSession();=0A=20=20=20=20=20SshMasterConnection*=20=
startSshConnection=20(=20QString=20host,=20QString=20port,=0A@@=20=
-1009,7=20+1009,7=20@@=20private=20slots:=0A=20=20=20=20=20//trayIcon=20=
stuff=0A=20=20=20=20=20void=20=
trayIconActivated(QSystemTrayIcon::ActivationReason=20reason);=0A=20=20=20=
=20=20void=20trayMessageClicked();=0A-=20=20=20=20void=20trayQuit();=0A+=20=
=20=20=20void=20closeClient();=0A=20=20=20=20=20void=20trayIconInit();=0A=
=20=0A=20=0A--=20=0A1.7.10.4=0A=0A=

--Apple-Mail=_BA8BE7E7-3E1E-4A64-A753-26846A1353AF
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii




--Apple-Mail=_BA8BE7E7-3E1E-4A64-A753-26846A1353AF--
