When defining PositionSource like this:
It is deactivated during initial loading.
That's because QDeclarativePositionSource::setActive is called quite in the beginning and it doesn't change m_active member. It just calls QDeclarativePositionSource::executeStart() which fails because m_positionSource is not yet initialized. Thus, m_active is still not set to true. And later, when QDeclarativePositionSource::tryAttach is called, m_active is not true.