diff --git a/layout/html/table/src/nsTableFrame.cpp b/layout/html/table/src/nsTableFrame.cpp index 83b9bd9b8d9f..035377385271 100644 --- a/layout/html/table/src/nsTableFrame.cpp +++ b/layout/html/table/src/nsTableFrame.cpp @@ -1204,6 +1204,12 @@ NS_METHOD nsTableFrame::Reflow(nsIPresContext& aPresContext, { if (nsDebugTable::gRflTable) nsTableFrame::DebugReflow("T::Rfl en", this, &aReflowState, nsnull); + // this is a temporary fix to prevent a recent crash due to incremental content + // sink changes. this will go away when the col cache and cell map are synchronized + if (!IsColumnCacheValid()) { + CacheColFrames(aPresContext, PR_TRUE); + } + // Initialize out parameter if (nsnull != aDesiredSize.maxElementSize) { aDesiredSize.maxElementSize->width = 0; diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp index 83b9bd9b8d9f..035377385271 100644 --- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -1204,6 +1204,12 @@ NS_METHOD nsTableFrame::Reflow(nsIPresContext& aPresContext, { if (nsDebugTable::gRflTable) nsTableFrame::DebugReflow("T::Rfl en", this, &aReflowState, nsnull); + // this is a temporary fix to prevent a recent crash due to incremental content + // sink changes. this will go away when the col cache and cell map are synchronized + if (!IsColumnCacheValid()) { + CacheColFrames(aPresContext, PR_TRUE); + } + // Initialize out parameter if (nsnull != aDesiredSize.maxElementSize) { aDesiredSize.maxElementSize->width = 0;