Don't return anything from it, just warn directly -- this is what all the existing callers did, so it's simpler if the function just does it itself instead of forcing them to check its return value. Also reset m_painted after yielding, so that YieldUntilPainted() could be called again, if necessary.