diff --git a/image/src/VectorImage.cpp b/image/src/VectorImage.cpp index 3b3896367bc2..67027e73bf32 100644 --- a/image/src/VectorImage.cpp +++ b/image/src/VectorImage.cpp @@ -84,11 +84,16 @@ protected: } mVectorImage->InvalidateObserver(); - } - // We may have been removed from the observer list by our caller. Rather - // than add ourselves back here, we wait until Draw gets called, ensuring - // that we coalesce invalidations between Draw calls. + // We may have been removed from the observer list by our caller. Rather + // than add ourselves back here, we wait until Draw gets called, ensuring + // that we coalesce invalidations between Draw calls. + } else { + // Here we may also have been removed from the observer list, but since + // we're not sending an invalidation, Draw won't get called. We need to + // add ourselves back immediately. + ResumeListening(); + } } // Private data