diff --git a/android/src/main/java/com/horcrux/svg/GroupView.java b/android/src/main/java/com/horcrux/svg/GroupView.java index d5df75bc9..38c6ffc54 100644 --- a/android/src/main/java/com/horcrux/svg/GroupView.java +++ b/android/src/main/java/com/horcrux/svg/GroupView.java @@ -116,7 +116,8 @@ void drawGroup(final Canvas canvas, final Paint paint, final float opacity) { elements = new ArrayList<>(); for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); - if (child instanceof MaskView) { + if (child instanceof MaskView || child instanceof ClipPathView) { + ((RenderableView) child).mergeProperties(self); continue; } if (child instanceof VirtualView) { diff --git a/apple/Elements/RNSVGGroup.mm b/apple/Elements/RNSVGGroup.mm index 26f2aba6f..928c4cc73 100644 --- a/apple/Elements/RNSVGGroup.mm +++ b/apple/Elements/RNSVGGroup.mm @@ -88,7 +88,7 @@ - (void)renderGroupTo:(CGContextRef)context rect:(CGRect)rect [self traverseSubviews:^(RNSVGView *node) { if ([node isKindOfClass:[RNSVGMask class]] || [node isKindOfClass:[RNSVGClipPath class]]) { - // no-op + [(RNSVGRenderable *)node mergeProperties:self]; } else if ([node isKindOfClass:[RNSVGNode class]]) { RNSVGNode *svgNode = (RNSVGNode *)node; if (svgNode.display && [@"none" isEqualToString:svgNode.display]) {