@@ -225,9 +225,7 @@ public virtual void EndMarginsCollapse(Rectangle layoutBox) {
225225 else {
226226 ownCollapseAfter = new MarginsCollapse ( ) ;
227227 }
228- if ( ownCollapseAfter != null ) {
229- ownCollapseAfter . JoinMargin ( GetModelBottomMargin ( renderer ) ) ;
230- }
228+ ownCollapseAfter . JoinMargin ( GetModelBottomMargin ( renderer ) ) ;
231229 collapseInfo . SetOwnCollapseAfter ( ownCollapseAfter ) ;
232230 if ( collapseInfo . IsSelfCollapsing ( ) ) {
233231 if ( prevChildMarginInfo != null ) {
@@ -270,8 +268,7 @@ public virtual void EndMarginsCollapse(Rectangle layoutBox) {
270268 }
271269
272270 private void UpdateCollapseBeforeIfPrevKidIsFirstAndSelfCollapsed ( MarginsCollapse collapseAfter ) {
273- if ( prevChildMarginInfo . IsSelfCollapsing ( ) && prevChildMarginInfo . IsIgnoreOwnMarginTop ( ) && collapseAfter
274- != null ) {
271+ if ( prevChildMarginInfo . IsSelfCollapsing ( ) && prevChildMarginInfo . IsIgnoreOwnMarginTop ( ) ) {
275272 // prevChildMarginInfo.isIgnoreOwnMarginTop() is true only if it's the first kid and is adjoined to parent margin
276273 collapseInfo . GetCollapseBefore ( ) . JoinMargin ( collapseAfter ) ;
277274 }
@@ -534,7 +531,8 @@ private static bool RendererIsFloated(IRenderer renderer) {
534531
535532 private static float GetModelTopMargin ( IRenderer renderer ) {
536533 float ? margin = renderer . GetModelElement ( ) . GetProperty < float ? > ( Property . MARGIN_TOP ) ;
537- return margin != null ? ( float ) margin : 0 ;
534+ // TODO Concerning "renderer instanceof CellRenderer" check: may be try to apply more general solution in future
535+ return margin != null && ! ( renderer is CellRenderer ) ? ( float ) margin : 0 ;
538536 }
539537
540538 private static void IgnoreModelTopMargin ( IRenderer renderer ) {
@@ -547,7 +545,8 @@ private static void OverrideModelTopMargin(IRenderer renderer, float collapsedMa
547545
548546 private static float GetModelBottomMargin ( IRenderer renderer ) {
549547 float ? margin = renderer . GetModelElement ( ) . GetProperty < float ? > ( Property . MARGIN_BOTTOM ) ;
550- return margin != null ? ( float ) margin : 0 ;
548+ // TODO Concerning "renderer instanceof CellRenderer" check: may be try to apply more general solution in future
549+ return margin != null && ! ( renderer is CellRenderer ) ? ( float ) margin : 0 ;
551550 }
552551
553552 private static void IgnoreModelBottomMargin ( IRenderer renderer ) {
0 commit comments