diff --git a/flow/layers/default_layer_builder.cc b/flow/layers/default_layer_builder.cc index ca228a7d58f76..fb2280b27edef 100644 --- a/flow/layers/default_layer_builder.cc +++ b/flow/layers/default_layer_builder.cc @@ -37,12 +37,13 @@ DefaultLayerBuilder::~DefaultLayerBuilder() = default; void DefaultLayerBuilder::PushTransform(const SkMatrix& sk_matrix) { SkMatrix inverse_sk_matrix; SkRect cullRect; - if (sk_matrix.invert(&inverse_sk_matrix)) { + // Perspective projections don't produce rectangles that are useful for + // culling for some reason. + if (!sk_matrix.hasPerspective() && sk_matrix.invert(&inverse_sk_matrix)) { inverse_sk_matrix.mapRect(&cullRect, cull_rects_.top()); } else { cullRect = kGiantRect; } - auto layer = std::make_unique(); layer->set_transform(sk_matrix); PushLayer(std::move(layer), cullRect); diff --git a/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm b/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm index a544d516c8157..efdabb7f6b2d4 100644 --- a/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm +++ b/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm @@ -129,7 +129,7 @@ - (void)application:(UIApplication*)application - (BOOL)application:(UIApplication*)application continueUserActivity:(NSUserActivity*)userActivity - restorationHandler:(void (^)(NSArray*))restorationHandler { + restorationHandler:(void (^)(NSArray>*))restorationHandler { return [_lifeCycleDelegate application:application continueUserActivity:userActivity restorationHandler:restorationHandler];