pick random x/y prior to addgear (as generic faller does) to avoid random numbers picked out of order
Added cast to qreal, avoiding ftbfs due to
issue #758
More explanation here
https://wiki.debian.org/ArmEabiFixes
And on qt-project.org reference website:
"Typedef for double on all platforms except for those using CPUs with ARM architectures. On ARM-based platforms, qreal is a typedef for float for performance reasons."