@@ -33,6 +33,7 @@ This file is part of the iText (R) project.
3333import com .itextpdf .layout .renderer .BlockFormattingContextUtil ;
3434import com .itextpdf .layout .renderer .BlockRenderer ;
3535import com .itextpdf .layout .renderer .CellRenderer ;
36+ import com .itextpdf .layout .renderer .GridContainerRenderer ;
3637import com .itextpdf .layout .renderer .IRenderer ;
3738import com .itextpdf .layout .renderer .LineRenderer ;
3839import com .itextpdf .layout .renderer .TableRenderer ;
@@ -227,7 +228,9 @@ public void endMarginsCollapse(Rectangle layoutBox) {
227228 }
228229
229230 MarginsCollapse ownCollapseAfter ;
230- boolean lastChildMarginJoinedToParent = prevChildMarginInfo != null && prevChildMarginInfo .isIgnoreOwnMarginBottom () && !lastKidCollapsedAfterHasClearanceApplied ;
231+ final boolean lastChildMarginJoinedToParent = prevChildMarginInfo != null
232+ && prevChildMarginInfo .isIgnoreOwnMarginBottom ()
233+ && !lastKidCollapsedAfterHasClearanceApplied ;
231234 if (lastChildMarginJoinedToParent ) {
232235 ownCollapseAfter = prevChildMarginInfo .getOwnCollapseAfter ();
233236 } else {
@@ -486,7 +489,10 @@ private static boolean lastChildMarginAdjoinedToParent(IRenderer parent) {
486489 }
487490
488491 private static boolean isBlockElement (IRenderer renderer ) {
489- return renderer instanceof BlockRenderer || renderer instanceof TableRenderer ;
492+ // GridContainerRenderer is inherited from BlockRenderer but only not to copy/paste some overloads.
493+ // It doesn't use BlockRenderer#layout internally.
494+ return (renderer instanceof BlockRenderer || renderer instanceof TableRenderer )
495+ && !(renderer instanceof GridContainerRenderer );
490496 }
491497
492498 private static boolean hasHeightProp (IRenderer renderer ) {
0 commit comments