diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index be55947..be3ebb1 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -2451,7 +2451,8 @@
     LOOPER_BEGIN(paint, SkDrawFilter::kText_Type, nullptr)
 
     while (iter.next()) {
-        fScratchGlyphRunBuilder->prepareDrawText(paint, text, byteLength, SkPoint::Make(x, y));
+        fScratchGlyphRunBuilder->prepareDrawText(
+                looper.paint(), text, byteLength, SkPoint::Make(x, y));
         auto glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
         iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
     }
@@ -2465,7 +2466,7 @@
     LOOPER_BEGIN(paint, SkDrawFilter::kText_Type, nullptr)
 
     while (iter.next()) {
-        fScratchGlyphRunBuilder->prepareDrawPosText(paint, text, byteLength, pos);
+        fScratchGlyphRunBuilder->prepareDrawPosText(looper.paint(), text, byteLength, pos);
         auto glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
         iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
     }
@@ -2479,7 +2480,8 @@
     LOOPER_BEGIN(paint, SkDrawFilter::kText_Type, nullptr)
 
     while (iter.next()) {
-        fScratchGlyphRunBuilder->prepareDrawPosTextH(paint, text, byteLength, xpos, constY);
+        fScratchGlyphRunBuilder->prepareDrawPosTextH(
+                looper.paint(), text, byteLength, xpos, constY);
         const auto& glyphRun = fScratchGlyphRunBuilder->useGlyphRun();
         iter.fDevice->drawGlyphRun(looper.paint(), glyphRun);
     }
