From 166f85cb218c4125661eb513d4a2a264a1a1dffc Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 1 Dec 2006 17:18:44 +0000 Subject: [PATCH] [166156] don't call disconnect on disconnected subsystems during delete - since it causes lots of unnnecssary events --- .../subsystems/SubSystemConfiguration.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java index 2d1d6fc2c21..1055ae649ed 100644 --- a/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java +++ b/rse/plugins/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java @@ -933,12 +933,15 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration //System.out.println("in deleteSubSystemsByConnection. Nbr subsystems = " + subsystems.length); for (int idx = 0; idx < subsystems.length; idx++) { - try - { - subsystems[idx].disconnect(); // be nice if we had a shell to pass! - } - catch (Exception exc) + if (subsystems[idx].isConnected()) { + try + { + subsystems[idx].disconnect(); // be nice if we had a shell to pass! + } + catch (Exception exc) + { + } } subsystems[idx].deletingConnection(); // let subsystem do any clean up needed prior to death deleteSubSystem(subsystems[idx]); @@ -1590,12 +1593,15 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration */ public boolean deleteSubSystem(ISubSystem subsystem) { - try - { - subsystem.disconnect(); // just in case. - } - catch (Exception exc) + if (subsystem.isConnected()) { + try + { + subsystem.disconnect(); // just in case. + } + catch (Exception exc) + { + } } removeSubSystem(subsystem); // remove from our in-memory cache ISystemFilterPoolReferenceManager fpRefMgr = subsystem.getSystemFilterPoolReferenceManager();