Posted by Zach at July 3rd, 2008

Pixen is poised to become the reigning champ of OS X pixel editors. It supports layers, tablet pressure, and animation. But Pixen has a bug that interrupts my creative flow — if I tap a palette color using my Wacom tablet, it always highlights the color, but usually fails to apply the color. What the…?!

Fortunately, the developers made the source code available. I had almost zero Cocoa experience before opening the source, yet the code was well-organized, and I was able to fix the bug!

Download Pixen v3.1b with the palette fix.

The issue involved mouse events. If the mouse moved even one pixel between mouseDown and mouseUp, Pixen would attempt to reorder the palette colors, and fail to activate the chosen color. As an input device, the tablet is fairly jittery, so the bug was only visible on the tablet.

Xcode “just works”, as they say. The project compiled without any issues, and used incremental compilation. It was a snap to use the breakpoints. Friggin’ great stuff. The Cocoa UI has a madness that is comparable with Actionscript 3 — you must design bulletproof mouse events, and use keyDown and keyUp mindfully… You know the drill.

I wrote to the development team, and got a nice response thanking me for patching this hole. (I should be thanking them for all their hard work! I’m using Pixen daily.) They alluded that Pixen v4 is in the works… I might get a chance to test and/or help develop it. Sweeeeeeeeeeet.