From 0ac39af559272665b3f43e10ec7c2d4d6780ff02 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Tue, 16 Sep 2008 08:01:03 +0000 Subject: [PATCH] [246592] Fixed initialization of fields in LaunchTerminalCommandHandler. --- .../ui/handlers/LaunchTerminalCommandHandler.java | 10 +++++++++- .../ui/views/RSETerminalConnectionThread.java | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/handlers/LaunchTerminalCommandHandler.java b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/handlers/LaunchTerminalCommandHandler.java index 56de16beeab..ad7987c66fb 100644 --- a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/handlers/LaunchTerminalCommandHandler.java +++ b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/handlers/LaunchTerminalCommandHandler.java @@ -100,6 +100,11 @@ public class LaunchTerminalCommandHandler extends AbstractHandler { private void init(IStructuredSelection selection) { Iterator e = selection.iterator(); Object selectedObject = e.next(); + + selected = null; + subSystem = null; + selectedFilterRef = null; + if (selectedObject != null) { if (selectedObject instanceof ISystemFilterReference) { selectedFilterRef = (ISystemFilterReference) selectedObject; @@ -145,9 +150,12 @@ public class LaunchTerminalCommandHandler extends AbstractHandler { return null; String path = getWorkingDirectory(selected); - String cdCmd = "cd " + PathUtility.enQuoteUnix(path); //$NON-NLS-1$ + String cdCmd; if (getTerminalSubSystem().getHost().getSystemType().isWindows()) { cdCmd = "cd /d \"" + path + '\"'; //$NON-NLS-1$ + } else + { + cdCmd = "cd " + PathUtility.enQuoteUnix(path); //$NON-NLS-1$ } return cdCmd + "\r"; //$NON-NLS-1$ } diff --git a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/RSETerminalConnectionThread.java b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/RSETerminalConnectionThread.java index 2b8f15e238e..2ed40243eb2 100644 --- a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/RSETerminalConnectionThread.java +++ b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/RSETerminalConnectionThread.java @@ -7,6 +7,7 @@ * Contributors: * Anna Dushistova (MontaVista) - initial API and implementation * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl + * Anna Dushistova (MontaVista) - [246592] Terminal session issues "cd / ********************************************************************************/ package org.eclipse.rse.internal.terminals.ui.views; @@ -51,7 +52,7 @@ public class RSETerminalConnectionThread extends Thread { try { if (subsystem instanceof TerminalServiceSubSystem) { ITerminalService ts = ((TerminalServiceSubSystem) subsystem).getTerminalService(); - shell = ts.launchTerminal("ansi", null, null, "/", null, new NullProgressMonitor()); + shell = ts.launchTerminal("ansi", null, null, null, null, new NullProgressMonitor()); } fConn.setInputStream(shell.getInputStream()); fConn.setOutputStream(shell.getOutputStream());