Bug: When viewing a story whilst grouped by a field

2 posts, 0 answers
  1. Chris Chilvers
    Chris Chilvers avatar
    1 posts
    Member since:
    Mar 2006

    Posted 18 Jan 2011 Link to this post

    Steps to reproduce:
    1. View Requirements --> View Stories
    2. Group the stories by a field (e.g. maturity)
    3. Open a story by clicking the icon to the left of the story
    System:
    TeamPulse Version: 2010.3.1117.0
    OS: Windows 7
    Browser: IE 8
    .Net: 4.0
    Silverlight: 4.0.50917.0

    Stack trace:
    Exception Type: System.InvalidOperationException
    Exception Message: Cannot change ObservableCollection during a CollectionChanged or PropertyChanged event.
       at System.Collections.ObjectModel.ObservableCollection`1.CheckReentrancy()
       at System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 index)
       at System.Collections.ObjectModel.Collection`1.Remove(T item)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.FindAndRemove(Object simpleItem)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.FindAndRemove(Object simpleItem)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.EqualizeItems(IEnumerable items, IEnumerable`1 groupDescriptors, ItemAction action, Object item)
       at Telerik.Windows.Data.QueryableCollectionViewGroupRoot.EqualizeItems(IEnumerable items, IEnumerable`1 groupDescriptors, ItemAction action, Object item)
       at Telerik.Windows.Data.QueryableCollectionView.RefreshOnItemAction(Object item, ItemAction action)
       at Telerik.Windows.Data.QueryableCollectionView.CommitEdit()
       at TeamPulse.Client.Presentation.Stories.StoriesListViewBase.NotifyGridOfOutsideEditsForFilteringUpdate(Story editedStory)
       at TeamPulse.Client.Presentation.Stories.StoriesListPresenterModelBase`1.NotifyGridOfOutsideEditsForFilteringUpdate(Story editedStory)
       at TeamPulse.Client.Presentation.Stories.StoriesListPresenterModelBase`1.Story_GlobalPropertyChanged(Object sender, PropertyChangedEventArgs e)
       at TeamPulse.Client.DataService.Story.Domain_PropertyChanged(Object sender, PropertyChangedEventArgs e)
       at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
       at TeamPulse.Client.DataService.DomainBase.OnPropertyChanged(String prop)
       at TeamPulse.Client.DataService.WorkItemBase.OnPropertyChanged(String prop)
       at TeamPulse.Client.Presentation.Stories.StoriesListViewBase.OnRowUnloaded(Object sender, RowUnloadedEventArgs e)
       at Telerik.Windows.Controls.GridView.GridViewDataControl.OnRowUnloaded(RowUnloadedEventArgs e)
       at Telerik.Windows.Controls.GridView.GridViewDataControl.ClearContainerForItemOverride(DependencyObject element, Object item)
       at Telerik.Windows.Controls.GridView.BaseItemsControl.Telerik.Windows.Controls.GridView.IGeneratorHost.ClearContainerForItem(DependencyObject container, Object item)
       at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.RemoveAll()
       at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.OnRefresh()
       at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
       at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
       at Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
       at Telerik.Windows.Data.DataItemCollection.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs e)
       at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
       at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChangedWithAdjustedArgs(NotifyCollectionChangedEventArgs originalArguments, Int32 adjustedOldIndex, Int32 adjustedNewIndex)
       at Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
       at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
       at System.Collections.ObjectModel.ReadOnlyObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
       at System.Collections.ObjectModel.ReadOnlyObservableCollection`1.HandleCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
       at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
       at System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 index)
       at System.Collections.ObjectModel.Collection`1.Remove(T item)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.FindAndRemove(Object simpleItem)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.FindAndRemove(Object simpleItem)
       at Telerik.Windows.Data.QueryableCollectionViewGroup.EqualizeItems(IEnumerable items, IEnumerable`1 groupDescriptors, ItemAction action, Object item)
       at Telerik.Windows.Data.QueryableCollectionViewGroupRoot.EqualizeItems(IEnumerable items, IEnumerable`1 groupDescriptors, ItemAction action, Object item)
       at Telerik.Windows.Data.QueryableCollectionView.RefreshOnItemAction(Object item, ItemAction action)
       at Telerik.Windows.Data.QueryableCollectionView.CommitEdit()
       at TeamPulse.Client.Presentation.Stories.StoriesListViewBase.NotifyGridOfOutsideEditsForFilteringUpdate(Story editedStory)
       at TeamPulse.Client.Presentation.Stories.StoriesListPresenterModelBase`1.NotifyGridOfOutsideEditsForFilteringUpdate(Story editedStory)
       at TeamPulse.Client.Presentation.Stories.StoriesListPresenterModelBase`1.Story_GlobalPropertyChanged(Object sender, PropertyChangedEventArgs e)
       at TeamPulse.Client.DataService.Story.Domain_PropertyChanged(Object sender, PropertyChangedEventArgs e)
       at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
       at TeamPulse.Client.DataService.DomainBase.OnPropertyChanged(String prop)
       at TeamPulse.Client.DataService.WorkItemBase.OnPropertyChanged(String prop)
       at TeamPulse.Client.DataService.Story.set_Tasks(RadObservableCollection`1 value)
       at TeamPulse.Client.Managers.ProjectManager.<>c__DisplayClass181.<>c__DisplayClass183.<GetStoryTasks>b__17e()

  2. Ryan
    Admin
    Ryan avatar
    164 posts

    Posted 18 Jan 2011 Link to this post

    Hello Chris Chilvers,

    Thanks for the info. This bug should be fixed in our latest release of TeamPulse, version 2010.3 1220, that came out on Dec 20th 2010.

    Kind regards,
    Ryan
    the Telerik team
Back to Top