some fixes for out-of-bounds values on change, or per size of canvas