you change m_channelCursor immediately without the checks, i don't know if this has side effects.