openbsd-ports/x11/nx/opennx/patches/patch-MySession_cpp
jasper 232901cd84 - apply two patches from upstream svn:
* added --autoresume switch
* fix resuming a suspended session

ok ajacoutot@
2011-03-02 10:23:36 +00:00

64 lines
2.7 KiB
Plaintext

$OpenBSD: patch-MySession_cpp,v 1.1 2011/03/02 10:23:36 jasper Exp $
- Fix resuming a suspended session.
From upstream svn -r610.
- Added --autoresume switch.
From upstream svn -r609.
--- MySession.cpp.orig Fri Jul 10 11:02:04 2009
+++ MySession.cpp Fri Feb 25 14:07:09 2011
@@ -846,7 +846,7 @@ MySession::OnSshEvent(wxCommandEvent &event)
break;
case STATE_RESUME_SESSION:
scmd = wxT("restoresession");
- scmd << m_pCfg->sGetSessionParams(intver(NX_PROTO), false, m_sClearPassword)
+ scmd << m_pCfg->sGetSessionParams(intver(NX_PROTO), true, m_sClearPassword)
<< wxT(" --session=\"") << m_sResumeName
<< wxT("\" --type=\"") << m_sResumeType
<< wxT("\" --id=\"") << m_sResumeId << wxT("\"");
@@ -922,9 +922,9 @@ MySession::OnSshEvent(wxCommandEvent &event)
m_sSmbPort = msg;
break;
case MyIPC::ActionExit:
- if (m_eConnectState == STATE_ABORT)
+ if (m_eConnectState == STATE_ABORT) {
m_bAbort = true;
- else {
+ } else {
if (m_eConnectState == STATE_FINISH) {
m_pDlg->SetStatusText(_("Starting session"));
msg = wxT("NX> 299 Switch connection to: ");
@@ -1062,7 +1062,13 @@ MySession::parseSessions(bool moreAllowed)
}
if (bFound) {
d.EnableNew(moreAllowed);
- if (m_bIsShadow || (iSessionCount > 1) || (!sName.IsSameAs(m_pCfg->sGetName()))) {
+ if ((!m_bIsShadow) && wxGetApp().AutoResume() && (iSessionCount == 1) && (sName.IsSameAs(m_pCfg->sGetName()))) {
+ ::wxLogInfo(wxT("RESUME"));
+ m_sResumeName = sName;
+ m_sResumeType = d.GetSelectedType();
+ m_sResumeId = d.GetSelectedId();
+ m_eConnectState = STATE_RESUME_SESSION;
+ } else {
switch (d.ShowModal()) {
case wxID_OK:
switch (d.GetMode()) {
@@ -1095,16 +1101,9 @@ MySession::parseSessions(bool moreAllowed)
break;
case wxID_CANCEL:
printSsh(wxT("bye"));
- if (m_bIsShadow)
- m_eConnectState = STATE_ABORT;
+ m_eConnectState = STATE_ABORT;
break;
}
- } else {
- wxLogInfo(wxT("RESUME"));
- m_sResumeName = d.GetSelectedName();
- m_sResumeType = d.GetSelectedType();
- m_sResumeId = d.GetSelectedId();
- m_eConnectState = STATE_RESUME_SESSION;
}
} else {
if (m_bIsShadow) {