Pinta master on Windows XP:
1. Open Pinta.
2. Text from Tools, click on canvas and type e.g.: test (You can also finalize the text if you like by pressing ESC).
3. PaintBucket from Tools and click on canvas.
4. Undo from toolbar.
5. Again Undo from toolbar.
6. PaintBucket from Tools and click on canvas. Crash appears:
================
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Pinta.Tools.TextTool.FinalizeText() in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\TextTool.cs:line 1111
at Pinta.Core.Document.SignalSurfaceCloned() in c:\Zaloga\Pinta-master\Pinta.Core\Classes\Document.cs:line 894
at Pinta.Core.CairoExtensions.Clone(ImageSurface surf) in c:\Zaloga\Pinta-master\Pinta.Core\Extensions\CairoExtensions.cs:line 831
at Pinta.Core.SimpleHistoryItem.TakeSnapshotOfLayer(UserLayer layer) in c:\Zaloga\Pinta-master\Pinta.Core\HistoryItems\SimpleHistoryItem.cs:line 99
at Pinta.Tools.PaintBucketTool.OnFillRegionComputed(IBitVector2D stencil) in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\PaintBucketTool.cs:line 77
at Pinta.Tools.FloodTool.OnMouseDown(DrawingArea canvas, ButtonPressEventArgs args, PointD point) in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\FloodTool.cs:line 137
at Pinta.Tools.PaintBucketTool.OnMouseDown(DrawingArea canvas, ButtonPressEventArgs args, PointD point) in C:\Zaloga\Pinta-master\Pinta.Tools\Tools\PaintBucketTool.cs:line 62
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 retested the problem on Windows XP using Pinta from source code tagged as "Pinta-release-1.5" and this crash still appears.