When initializing your animation object, you're never setting the frameSize/textureRect. It gets set for the first time in update(), but update() will call it for the first time once some some time had passed to fullfil the condition if(m_currentTime >= m_frameTime).