void Update() { if (tree.IsRealized) { tree.ScrollToPoint(0, 0); } treeViewState.Save(); store.Clear(); try { if (DebuggingService.GetSessions().SelectMany(s => s.GetProcesses()).Count() > 1) { foreach (var session in DebuggingService.GetSessions()) { foreach (var process in session.GetProcesses()) { var iter = store.AppendValues( session.IsRunning ? "md-continue-debug" : "md-pause-debug", process.Id.ToString(), process.Name, process, session == DebuggingService.DebuggerSession ? (int)Pango.Weight.Bold : (int)Pango.Weight.Normal, "", session); if (session.IsRunning) { continue; } AppendThreads(iter, process, session); } } } else { if (!DebuggingService.IsPaused) { return; } AppendThreads(TreeIter.Zero, DebuggingService.DebuggerSession.GetProcesses() [0], DebuggingService.DebuggerSession); } } catch (Exception ex) { LoggingService.LogInternalError(ex); } tree.ExpandAll(); treeViewState.Load(); }