fixing #73169 (show stopper for many)
Stephan Kulow
coolo at kde.org
Sun Jan 25 10:12:18 GMT 2004
Hi!
There were quite some reports about it and it's also very easy to reproduce:
just print a random mail from kmail while having build without NDEBUG.
The assertion below is either wrong or renderobject should do more work
to set all children to not layouted.
I'd like to include one of the patches into 3.2.0, so that even people without
--disable-debug can print.
Greetings, Stephan
--- rendering/render_block.cpp 21 Jan 2004 15:24:13 -0000 1.22
+++ rendering/render_block.cpp 25 Jan 2004 10:06:19 -0000
@@ -423,7 +423,7 @@ void RenderBlock::layoutBlock(bool relay
// kdDebug( 6040 ) << renderName() << " " << this << "::layoutBlock()
start" << endl;
// QTime t;
// t.start();
- KHTMLAssert( !layouted() );
+ // KHTMLAssert( !layouted() );
KHTMLAssert( minMaxKnown() );
if (isInline()) // Inline <form>s inside various table elements can cause
us to
!!!ALTERNATIVE PATCH !!!
Index: rendering/render_object.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/rendering/render_object.cpp,v
retrieving revision 1.246
diff -u -3 -p -u -r1.246 render_object.cpp
--- rendering/render_object.cpp 19 Jan 2004 17:41:22 -0000 1.246
+++ rendering/render_object.cpp 25 Jan 2004 10:06:20 -0000
@@ -411,6 +411,9 @@ void RenderObject::setLayouted(bool b)
{
m_layouted = b;
if (!b) {
+ for (RenderObject *child = firstChild(); child != 0; child =
child->nextSibling())
+ child->setLayouted(b);
+
RenderObject *o = container();
RenderObject *root = this;
--
Pace Peace Paix Paz Frieden Pax Pokój Friður Fred Béke 和平
Hasiti Lapé Hetep Malu Mир Wolakota Santiphap Irini שלום Peoch
Shanti Vrede Baris Rój Mír Taika Rongo Sulh Py'guapy 평화
More information about the kfm-devel
mailing list