BAndysc / BAndysc/WoWDatabaseEditor

Crash

Open
#114 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
564
Forks
169
PR merge metrics
No merged PRs in 30d

Description

Description of what I was doing:
Closing some windows with scrollbutton click, 1 window did not want to close, it had the overlay stuck to drag it to up/down/left/right/fullscreen. I clicked the fullscreen button while it already was fullscreen.

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.ObjectModel.Collection`1.RemoveAt(Int32 index)
at Dock.Model.FactoryBase.MoveDockable(IDock sourceDock, IDock targetDock, IDockable sourceDockable, IDockable targetDockable)
at Dock.Model.DockManager.MoveDockable(IDockable sourceDockable, IDock sourceDockableOwner, IDock targetDock, Boolean bExecute)
at Dock.Model.DockManager.DockDockable(IDockable sourceDockable, IDock sourceDockableOwner, IDock targetDock, DockOperation operation, Boolean bExecute)
at Dock.Model.DockManager.DockDockableIntoDock(IDockable sourceDockable, IDock sourceDockableOwner, IDock targetDock, DragAction action, DockOperation operation, Boolean bExecute)
at Dock.Model.DockManager.ValidateDocument(IDocument sourceDocument, IDockable targetDockable, DragAction action, DockOperation operation, Boolean bExecute)
at Dock.Model.DockManager.ValidateDockable(IDockable sourceDockable, IDockable targetDockable, DragAction action, DockOperation operation, Boolean bExecute)
at Dock.Avalonia.Internal.DockControlState.Execute(Point point, DockOperation operation, DragAction dragAction, IVisual relativeTo)
at Dock.Avalonia.Internal.DockControlState.Drop(Point point, DragAction dragAction, IVisual relativeTo)
at Dock.Avalonia.Internal.DockControlState.Process(Point point, Vector delta, EventType eventType, DragAction dragAction, IVisual activeDockControl, IList`1 dockControls)
at Dock.Avalonia.Controls.DockControl.ReleasedHandler(Object sender, PointerReleasedEventArgs e)
at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 152
at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive source, RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 79
at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/Interactive.cs:line 123
at Avalonia.Input.MouseDevice.MouseUp(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties props, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 298
at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) in /_/src/Avalonia.Input/MouseDevice.cs:line 142
at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e) in /_/src/Avalonia.Input/InputManager.cs:line 37
at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs:line 487
at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in /_/src/Windows/Avalonia.Win32/WindowImpl.WndProc.cs:line 33
at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in /_/src/Windows/Avalonia.Win32/Win32Platform.cs:line 205
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 61
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 132
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 187
at WoWDatabaseEditorCore.Avalonia.Program.Main(String[] args)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with Dock.Model.FactoryBase.MoveDockable and follow the DockManager docking path shown in the stack trace, especially the fullscreen and window-closing sequence. Reproduce the reported scroll-button close followed by clicking fullscreen, then verify the operation no longer throws ArgumentOutOfRangeException.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.