Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > f56245b36fb217cb826b4585621bb690 > files > 48

kdelibs-3.5.4-26.el5_7.1.src.rpm

Index: khtml/rendering/render_table.h
===================================================================
--- khtml/rendering/render_table.h	(Revision 570647)
+++ khtml/rendering/render_table.h	(Revision 570648)
@@ -306,6 +306,8 @@
 
     virtual void layout();
 
+    virtual RenderObject* removeChildNode(RenderObject* child);
+
     // The only time rows get a layer is when they have transparency.
     virtual bool requiresLayer() const { return /* style()->opacity() < 1.0f; */ false ; }
     virtual void paint(PaintInfo& i, int tx, int ty);
Index: khtml/rendering/render_table.cpp
===================================================================
--- khtml/rendering/render_table.cpp	(Revision 570647)
+++ khtml/rendering/render_table.cpp	(Revision 570648)
@@ -1984,6 +1984,15 @@
     setInline(false);   // our object is not Inline
 }
 
+RenderObject* RenderTableRow::removeChildNode(RenderObject* child)
+{
+    RenderTableSection *s = section();
+    if (s)
+        s->setNeedCellRecalc();
+
+    return RenderContainer::removeChildNode( child );
+}
+
 void RenderTableRow::detach()
 {
     RenderTableSection *s = section();
@@ -2235,6 +2244,9 @@
     kdDebug( 6040 ) << renderName() << "(TableCell)::calcMinMaxWidth() known=" << minMaxKnown() << endl;
 #endif
 
+    if (section()->needCellRecalc)
+        section()->recalcCells();
+
     RenderBlock::calcMinMaxWidth();
     if (element() && style()->whiteSpace() == NORMAL) {
         // See if nowrap was set.