Pinta master on Windows XP:
1. New image 1000 x 1000.
2. Text tool from Tools pad.
3. Select 80 from font size drop-down list.
4. Click on canvas and type in some text like: test
5. Mark whole text with SHIFT+LEFT_KEY
6. Click somewhere else on canvas and crash appears.
===========
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Pinta.Core.TextEngine.ForeachLine(Int32 startLine, Int32 startPos, Int32 len, Action action) in c:\Zaloga\Pinta-master\Pinta.Core\Classes\Text\TextEngine.cs:line 623
at Pinta.Core.TextEngine.get_SelectionRectangles() in c:\Zaloga\Pinta-master\Pinta.Core\Classes\Text\TextEngine.cs:line 89
at Pinta.Tools.TextTool.RedrawText(Boolean showCursor, Boolean useTextLayer) in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\TextTool.cs:line 965
at Pinta.Tools.TextTool.OnMouseDown(DrawingArea canvas, ButtonPressEventArgs args, PointD point) in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\TextTool.cs:line 548
at Pinta.Core.BaseTool.DoMouseDown(DrawingArea canvas, ButtonPressEventArgs args, PointD point) in c:\Zaloga\Pinta-master\Pinta.Core\Classes\BaseTool.cs:line 111
at Pinta.Gui.Widgets.PintaCanvas.<.ctor>b__2(Object sender, ButtonPressEventArgs e) in c:\Zaloga\Pinta-master\Pinta.Gui.Widgets\Widgets\Canvas\PintaCanvas.cs:line 60
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at GLib.Signal.ClosureInvokedCB(Object o, ClosureInvokedArgs args)
at GLib.SignalClosure.Invoke(ClosureInvokedArgs args)
at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data)
============
I haven't been able to reproduce it yet with the latest development build on Windows 8. Are you able to get this to happen every time, or is it just an occasional thing?