use Map event to ensure init_canvas is called eventually
make getgc() wait for this to happen