[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    introducing bugs into khtml :-(
From:       Lars Knoll <lars () trolltech ! com>
Date:       2000-05-12 17:17:39
[Download RAW message or body]

Hi,

let me first of all say that I'm happy about more people working on and
helping with khtml. Still I have to rant a bit now...

from the last commit to dom_nodeimpl.cpp...

@@ -396,6 +397,8 @@
 NodeBaseImpl::~NodeBaseImpl()
 {
     //kdDebug( 6020 ) << "NodeBaseImpl destructor" << endl;
     // we have to tell all children, that the parent has died...
     NodeImpl *n;
     NodeImpl *next;
 
     for( n = _first; n != 0; n = next )
     {
+	n->setPreviousSibling(0);
+	n->setNextSibling(0);
 	n->setParent(0); 
 	next = n->nextSibling();
 	if(n->deleteMe()) delete n;
     }
 }

How is that supposed to work? khtml is at the moment not deleting the
dom _and_ the rendering tree because of this. I just noticed it by
accident because form elements didn't get deleted anymore, and it took me
quite a while to find the bug :-(

To all people hacking khtml: Please be very careful with what you do in
the code! I can't and don't want to review every commit done to khtml in
detail.

I also noticed that in the last time some changes often broke rendering of
some pages that used to work before. Parts of the rendering engine of
khtml are quite touchy, so be sure to _check_ extensively that your
changes do not break anything. 

Antti and I discussed this a few days ago in a private mail, and as we are
approaching KDE-2, we _have_ to get the renderer stable and to a good
quality. For this I'd like to introduce a bit stricter commit policy for
khtml. I'll add an html page to the khtml/test directory containing links
to pages that are rendered correctly by the current khtml, but are a bit
touchy in the sense that they might break with changes. I'll add another
page with links to pages that are not rendered correctly. Before
committing changes to khtml I'd then like everyone to check these pages
and see if the commit breaks any of the pages rendered correctly.
Every patch that breaks one of the pages should get posted to kfm-devel
with a description why it is needed eventhough it breaks rendering of a
page so that we can discuss it here before applying it.

Antti and I will take the freedom to revert every patch that does not
comply to these rules.

As rendering gets better I hope we'll be able to move more and more pages
from the not_rendered_correctly page to the rendered_correctly page.

I hope this doesn't sound too hard to you and that you understand our
concerns about khtml's quality.

Cheers,
Lars

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic