FIX: canvas control works with both local and non-pointer