internal void DetachProcess(PythonProcess process) { int id = process.Id; PythonDebugProcessReplEvaluator evaluator; if (_evaluators.TryGetValue(id, out evaluator)) { evaluator.AvailableScopesChanged -= new EventHandler<EventArgs>(evaluator_AvailableScopesChanged); evaluator.MultipleScopeSupportChanged -= new EventHandler<EventArgs>(evaluator_MultipleScopeSupportChanged); process.DisconnectRepl(); _evaluators.Remove(id); if (_activeEvaluator == evaluator) { _activeEvaluator = null; } ActiveProcessChanged(); } }