ID:261468
 
Why won't it locate it where I specified?
var/obj/Canvas/C = new(src.loc=locate(usr.x,usr.y-1,usr.z))

suggestion::
Try to keep your code as simple as possible there is a old coder term called KISS which means keep it simple stupid.
END suggestion::
Lets see

make it 2 seprate comands
src.loc=locate(usr.x,usr.y-1,usr.z)
var/obj/Canvas/C = new(src.loc)
The src.loc= isn't needed.