If we compare to cursor and one of cursor is null (m_handle is 0), the operator doesn't work.
cursorA < cursorB and cursorB is null
I think the correction will be (for this operator, but other operators will be change too) :
bool QDocumentCursor::operator < (const QDocumentCursor& c) const
return (m_handle == 0 && c.m_handle != 0) || (m_handle != 0 && c.m_handle != 0 && m_handle->lt(c.m_handle) );