Jonathan Pobst's Pinta 1.6-prerelease for Windows from: https://dl.dropboxusercontent.com/u/1481774/pinta-dev-1.6.0.0.exe
Windows 7:
This looks like regression too:
a) Open Pinta
b) Line/Curve and draw some line
c) Rectangle Select and mark some area on canvas, but do nothing else (do not crop selection or do no deselect)
d) Undo once. Ok.
e) Undo again crash:
===================
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type 'Pinta.Tools.RectangleSelectTool' to type 'Pinta.Tools.ShapeTool'.
at Pinta.Tools.BaseEditEngine.ActivateCorrespondingTool(ShapeTypes shapeType, Boolean permanentSwitch) in c:\Users\Jonathan\Documents\Pinta\Pinta.Tools\Editable\EditEngines\BaseEditEngine.cs:line 1807
at Pinta.Tools.BaseEditEngine.ActivateCorrespondingTool(Int32 shapeIndex, Boolean permanentSwitch) in c:\Users\Jonathan\Documents\Pinta\Pinta.Tools\Editable\EditEngines\BaseEditEngine.cs:line 1785
at Pinta.Tools.ShapesHistoryItem.Swap(Boolean redraw) in c:\Users\Jonathan\Documents\Pinta\Pinta.Tools\HistoryItems\ShapesHistoryItem.cs:line 165
at Pinta.Tools.ShapesHistoryItem.Undo() in c:\Users\Jonathan\Documents\Pinta\Pinta.Tools\HistoryItems\ShapesHistoryItem.cs:line 88
at Pinta.Core.DocumentWorkspaceHistory.Undo() in c:\Users\Jonathan\Documents\Pinta\Pinta.Core\Classes\DocumentWorkspaceHistory.cs:line 103
at Pinta.Core.EditActions.HandlerPintaCoreActionsEditUndoActivated(Object sender, EventArgs e) in c:\Users\Jonathan\Documents\Pinta\Pinta.Core\Actions\EditActions.cs:line 312
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
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)
===================
Possibly related to bug #1419079