diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 440f9659de12f..dc1951beec728 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -537,8 +537,11 @@ void CanvasContext::invokeFunctor(Functor* functor) { requireGlContext(); mode = DrawGlInfo::kModeProcess; } - (*functor)(mode, NULL); + if (mCanvas) { + mCanvas->interrupt(); + } + (*functor)(mode, NULL); if (mCanvas) { mCanvas->resume(); }