Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit c74a4bc

Browse files
authored
save/restore around clipping the (potentially cached) frame canvas (#39797)
1 parent ac6129d commit c74a4bc

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -821,13 +821,16 @@ static bool ClipRRectContainsPlatformViewBoundingRect(const SkRRect& clip_rrect,
821821
return layer;
822822
}
823823
SkCanvas* overlay_canvas = frame->SkiaCanvas();
824+
int restore_count = overlay_canvas->getSaveCount();
825+
overlay_canvas->save();
824826
overlay_canvas->clipRect(rect);
825827
overlay_canvas->clear(SK_ColorTRANSPARENT);
826828
if (frame->GetDisplayListBuilder()) {
827829
slice->render_into(frame->GetDisplayListBuilder().get());
828830
} else {
829831
slice->render_into(overlay_canvas);
830832
}
833+
overlay_canvas->restoreToCount(restore_count);
831834

832835
layer->did_submit_last_frame = frame->Submit();
833836
return layer;

0 commit comments

Comments
 (0)