I think I encountered your first problem awhile back.
If I recall correctly( been a long while ), I had a normal event loop, but was locking it in to a while..wend loop if the user interacted with the canvas. If you accidently moved off the canvas and hit a slider, the program would lock up and die a slow death..
I had to work around it with some crazy state tracking stuff to make sure the loop contained a waitevent() at some point.
Might wanna give that shot ;)
If I recall correctly( been a long while ), I had a normal event loop, but was locking it in to a while..wend loop if the user interacted with the canvas. If you accidently moved off the canvas and hit a slider, the program would lock up and die a slow death..
I had to work around it with some crazy state tracking stuff to make sure the loop contained a waitevent() at some point.
Might wanna give that shot ;)