void HandleTaskServiceErrorsCurrentLocationTaskChanged(object sender, EventArgs e) { if (TaskService.Errors.CurrentLocationTask == null) { view.Selection.UnselectAll(); return; } TreeIter it; if (!view.Model.GetIterFirst(out it)) { return; } do { Task t = (Task)view.Model.GetValue(it, DataColumns.Task); if (t == TaskService.Errors.CurrentLocationTask) { view.Selection.SelectIter(it); view.ScrollToCell(view.Model.GetPath(it), view.Columns[0], false, 0, 0); it = filter.ConvertIterToChildIter(sort.ConvertIterToChildIter(it)); store.SetValue(it, DataColumns.Read, true); return; } } while (view.Model.IterNext(ref it)); }