public void UpdatePerson(PersonModel oldPerson, PersonModel newPerson) { Trace.Call(oldPerson, newPerson); if (_PersonListStore == null) { // no liststore, nothing todo return; } Gtk.TreeIter iter; bool res = _PersonListStore.GetIterFirst(out iter); if (!res) { #if LOG4NET _Logger.Error("UpdatePersonModelInChannel(): _PersonsStore.GetIterFirst() returned false, ignoring update..."); #endif return; } do { PersonModel person = (PersonModel)_PersonListStore.GetValue(iter, 0); if (person.ID == oldPerson.ID) { _PersonListStore.SetValue(iter, 0, newPerson); break; } } while (_PersonListStore.IterNext(ref iter)); _PersonTreeView.CheckResize(); //_PersonListStore.Reorder(); }