The above stack trace is coming directly from our customers.
And there are more crashes I'm seeing from the DockManager as well, but it looks like coming here for help will not be a useful practice.
If I could reproduce myself, I could show it to you. But I can't and I don't have access to the code, just the stack traces that clearly point to infragistics as doing something that is invalid… it would be nice if infragistics was handling these cases instead of just throwing an exception and crashing our whole application.
Here are more stacktraces…
Operation is not valid due to the current state of the object.
at Infragistics.Win.ChildControlEventManager..ctor(Control rootControl)
at Infragistics.Win.ControlUIElementBase.MouseEventManager..ctor(ControlUIElementBase controlElement)
at Infragistics.Win.ControlUIElementBase.Initialize(Control control, IUltraControl ultraControl, ProcessEvent eventsToProcess)
at Infragistics.Win.ControlUIElementBase..ctor(Control control, IUltraControl ultraControl, Boolean hookEvents)
at Infragistics.Win.UltraWinDock.DockableWindowUIElement..ctor(DockableWindow control, UltraDockManager dockManager)
at Infragistics.Win.UltraWinDock.DockableWindow.get_ControlUIElement()
at Infragistics.Win.ManagedContainerControlBase.Infragistics.Win.IUltraControlElement.get_MainUIElement()
at Infragistics.Win.DrawUtility.GetGdiDrawStringFlags(Control ctrl)
at Infragistics.Win.ImageAndTextUIElement.MeasureStringCallback.CreateDelegate(Control ctrl, Size layoutArea)
at Infragistics.Win.ImageAndTextUIElement.CalculateTextSize(String text, HotkeyPrefix hotkey, Boolean vertical, Control control, AppearanceData& appearance, MeasureStringDelegate measureString, Boolean wrapText, GdiDrawStringFlags drawStringFlags, Size layoutArea)
at Infragistics.Win.ImageAndTextUIElement.CalculateTextSize(String text, HotkeyPrefix hotkey, Boolean vertical, Control control, AppearanceData& appearance, Size layoutArea)
at Infragistics.Win.ImageAndTextUIElement.CalculateTextSize(String text, HotkeyPrefix hotkey, Boolean vertical, Control control, AppearanceData& appearance)
at Infragistics.Win.UltraWinDock.DockablePaneBase.PaneMetrics.UpdateSlidingGroupSizeInfo()
at Infragistics.Win.UltraWinDock.DockablePaneBase.PaneMetrics.UpdateSizeInformation()
at Infragistics.Win.UltraWinDock.DockablePaneBase.get_ContentsMargins()
at Infragistics.Win.UltraWinDock.DockablePaneBase.InternalProcessPaneSize(Boolean enforceMinMax, Size newSize, Size displaySize)
at Infragistics.Win.UltraWinDock.DockableGroupPane.AdjustSplitGroupPaneSize(Size availableSize)
at Infragistics.Win.UltraWinDock.DockableGroupPane.AdjustChildPaneSize()
at Infragistics.Win.UltraWinDock.DockablePaneBase.InternalProcessPaneSize(Boolean enforceMinMax, Size newSize, Size displaySize)
at Infragistics.Win.UltraWinDock.DockableGroupPane.InternalProcessPaneSize(Boolean enforceMinMax, Size newSize, Size displaySize)
at Infragistics.Win.UltraWinDock.DockAreaPane.InternalProcessPaneSize(Boolean enforceMinMax, Size newSize, Size displaySize)
at Infragistics.Win.UltraWinDock.DockablePaneBase.SyncPaneSize()
at Infragistics.Win.UltraWinDock.DockableControlPane.Pin()
at Infragistics.Win.UltraWinDock.UltraDockManager.ControlPaneRemoved(DockableControlPane pane)
at Infragistics.Win.UltraWinDock.DockableControlPanesCollection.Remove(DockableControlPane pane)
at Infragistics.Win.UltraWinDock.DockableControlPane.OnControlDisposed(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.ComponentModel.Component.Dispose(Boolean disposing)
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at Infragistics.Win.ManagedContainerControlBase.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at Infragistics.Win.ManagedContainerControlBase.Dispose(Boolean disposing)
at Infragistics.Win.UltraWinDock.AutoHideControl.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.Windows.Forms.Form.Dispose(Boolean disposing)
at TransPlus.FleetManager.Features.Forms.TransPlusForm.Dispose(Boolean disposing)
at TransPlus.FleetManager.frmTripBoard.Dispose(Boolean Disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.Windows.Forms.Form.Dispose(Boolean disposing)
at TransPlus.FleetManager.Features.Forms.TransPlusForm.Dispose(Boolean disposing)
at frmMDI.Dispose(Boolean Disposing)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at TransPlus.FleetManager.Features.Forms.TransPlusForm.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
A generic error occurred in GDI+.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
at Infragistics.Win.DrawUtility.DrawBackColor(Control control, Graphics graphics, AppearanceData& appearanceData, Rectangle rect, Rectangle invalidRect, Boolean enabled, IDrawCache drawCache, AlphaBlendMode alphaBlendMode, Blend blend, Boolean mirrorBackground)
at Infragistics.Win.UIElementDrawParams.DrawBackColor(Rectangle rect)
at Infragistics.Win.UltraWinGrid.CellUIElement.DrawBackColor(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawChildElements(UIElementDrawParams& drawParams)
at Infragistics.Win.UIElement.DrawElement(UIElementDrawParams& defaultDrawParams)
at Infragistics.Win.UIElement.DrawHelper(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Boolean clipText, Boolean forceDrawAsFocused, Boolean preventAlphaBlendGraphics, Nullable`1 zoomFactor)
at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode, Size elementSize, Boolean preventAlphaBlendGraphics)
at Infragistics.Win.ControlUIElementBase.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode)
at Infragistics.Win.UltraWinGrid.UltraGridUIElement.Draw(Graphics graphics, Rectangle invalidRectangle, Boolean doubleBuffer, AlphaBlendMode alphaBlendMode)
at Infragistics.Win.UltraControlBase.OnPaint(PaintEventArgs pe)
at Infragistics.Win.UltraWinGrid.UltraGrid.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Looks like we are on our own for figuring these out though?