So... what now?
I think you might need to change your logic a little.
I wanted to get things *working*, and then do a redesign :PI think you might need to change your logic a little.
On an efficiency note, when the mouse is not over the canvas, does the canvas really need to be redrawing as often? Perhaps you could disable the timer when the mouse leaves? OnPaint() should still catch required refreshes.
Good addition, I'll add your code. So in summary, the above fix nullifies my Good news/bad news post altogether ;-)
Excellent!P.S. sorry for the late response, vacation ;)
EDIT:
One thing on Mac, in fdcnv.bmx, in the OnKeyDown and OnKeyUp handlers, you event.Skip(), which the property editor doesn't like - ie. it's almost impossible to edit text. Commenting it out fixes that.
Hmm, never had that problem.. Commented it out anyways, hasn't hurt Linux yet.