pablodraw icon indicating copy to clipboard operation
pablodraw copied to clipboard

Palette switching bug in Pablodraw 3.3.14

Open ericolito opened this issue 6 months ago • 0 comments

Hello Curtis,

There's a color-switching trick I like to use in PabloDraw that no longer works and now causes the program to crash.

Previously, I would change a palette color—for example, changing green to red—copy a block of art using that color, press Ctrl+Z to reset the palette, and then paste the copied block. This allowed me to quickly "recolor" art by temporarily remapping palette values. However, in version 3.3.14, this method causes PabloDraw to crash with the following error message:

[eric@snoggetorp amigademo]$ pablodraw Fontconfig warning: using without calling FcInit() Process terminated. A callback was made on a garbage collected delegate of type 'GtkSharp!GtkSharp.ClipboardGetFuncNative::Invoke'. at Gtk.Clipboard.WaitForContents(Gdk.Atom) at Eto.GtkSharp.Forms.ClipboardHandler.GetSelectionData(System.String) at Eto.GtkSharp.Forms.ClipboardHandler.GetData(System.String) at Eto.Forms.Clipboard.GetData(System.String) at Eto.Forms.Clipboard.GetDataStream(System.String) at Pablo.Formats.Character.Actions.Block.PasteFromClipboard.GetCanvasFromClipboard() at Pablo.Formats.Character.Actions.Block.PasteFromClipboard.Execute(Pablo.CommandExecuteArgs) at Pablo.PabloCommand.OnExecuted(System.EventArgs) at Eto.Forms.Command.Execute() at Eto.Forms.Command.System.Windows.Input.ICommand.Execute(System.Object) at Eto.PropertyStore+CommandWrapper.Command_Execute(System.Object, System.EventArgs) at Eto.Forms.MenuItem.OnClick(System.EventArgs) at Eto.Forms.MenuItem+Callback.OnClick(Eto.Forms.MenuItem, System.EventArgs) at Eto.GtkSharp.Forms.Menu.ButtonMenuItemHandler2+ButtonMenuItemConnector[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].HandleActivated(System.Object, System.EventArgs) at DynamicClass.InvokeStub_EventHandler.Invoke(System.Object, System.Span1<System.Object>) at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Delegate.DynamicInvokeImpl(System.Object[]) at GLib.Signal.ClosureInvokedCB(System.Object, GLib.ClosureInvokedArgs) at GLib.SignalClosure.MarshalCallback(IntPtr, IntPtr, UInt32, IntPtr, IntPtr, IntPtr) at Gtk.Application.Run() at Eto.GtkSharp.Forms.ApplicationHandler.Run() at Eto.Forms.Application.Run() at PabloDraw.CommandHandlers.EditorCommandLine.Process(PabloDraw.ProcessCommandLineArgs) at PabloDraw.Program.Run() at PabloDraw.Startup.Main() Aborted (core dumped)

Additionally, PabloDraw also crashes when I try copying blocks between different files.

Thanks for your work on this program—it's an amazing tool! I'm using it for a huge demoproject right now and would be very happy if you could help!

Cheers.

ericolito avatar Jul 02 '25 11:07 ericolito