hi,
that's the problem.
mult(float scalar) returns
new Quaternion(scalar * w, scalar * x, scalar * y, scalar * z);
but the costructor takes
float x, float y, float z, float w
the obvius fix is
new Quaternion(scalar * x, scalar * y, scalar * z,scalar * w);
yikes! thanks, it's fixed in cvs (and svn) now.
Thankfully the method was not being used in the core or ext classes. (Although, I guess if it had been used, we'd probably have noticed the bug by now!)