The methods here are sort of weird. It would make more sense to just have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs to know that it's the second part of a morph. (This, because it starts writing its output as soon as it gets drawing commands- if it kept its own description of its shapes and wrote on completion this and some other things would be much easier.)
setLine() is mandatory for shape got with getShape1 and getShape2, otherwise you will get a "failed assertion"
If you call getShape1() twize (by mistake, when copy-pasting). ming-0.3_beta1 will segfault.