Skip to content

Index out of range measuring glyphs #189

@danipen

Description

@danipen

Reported here: #172 (comment)

Regression of #172 :

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at AvaloniaEdit.Text.TextLineRun.GlyphWidths.GetAt(Int32 index) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Text\TextLineRun.cs:line 364
   at AvaloniaEdit.Text.TextLineRun.GetCharacterFromDistance(Double distance) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Text\TextLineRun.cs:line 326
   at AvaloniaEdit.Text.TextLineImpl.GetCharacterFromDistance(Double distance) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Text\TextLineImpl.cs:line 187
   at AvaloniaEdit.Rendering.VisualLine.GetVisualColumnFloor(Point point, Boolean allowVirtualSpace, Boolean& isAtEndOfLine) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Rendering\VisualLine.cs:line 591
   at AvaloniaEdit.Rendering.VisualLine.GetVisualColumnFloor(Point point, Boolean allowVirtualSpace) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Rendering\VisualLine.cs:line 568
   at AvaloniaEdit.Rendering.VisualLine.GetVisualColumnFloor(Point point) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Rendering\VisualLine.cs:line 559
   at AvaloniaEdit.Rendering.TextView.GetVisualLineElementFromPosition(Point visualPosition) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Rendering\TextView.cs:line 1710
   at AvaloniaEdit.Rendering.TextView.OnPointerMoved(PointerEventArgs e) in C:\Users\HendrikMennen\source\repos\VHDP\AvaloniaEdit\src\AvaloniaEdit\Rendering\TextView.cs:line 1637
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in /_/Rx.NET/Source/src/System.Reactive/Subjects/Subject.cs:line 145
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 148
   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.MouseMove(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 268
   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

Document folding is causing the issue. This happens quite often when I use folding and then click on the document.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions