Version: (using KDE KDE 3.5.1) Installed from: Ubuntu Packages OS: Linux KHTML does not render properly some PyGame's pages. In PyGame's reference there are a lot of comments hidden by buttons: I.E. http://www.pygame.org/docs/ref/surface.html has lots of them. But if you click on those buttons, the comments won't appear.
hmm, the parser seems to inappropriately give a standalone input a form which shadows the function context: <form class='addcomment' action='comment_new.php'> <input type='hidden' name='link' value='pygame.Surface'> <input type='submit' value='Add a Comment'> </form> </div> <div id='pygame.Surface-comments'> <input type='button' value='Comments (2)' onclick='comments_show("pygame.Surface");'></div> <br>
SVN commit 517005 by ivor: Replace one form reattach hack with another, pending a better fix. BUG: 122968 BUG: 122273 CCBUG: 116790 M +1 -5 html_formimpl.cpp M +9 -0 htmlparser.cpp --- branches/KDE/3.5/kdelibs/khtml/html/html_formimpl.cpp #517004:517005 @@ -886,11 +886,7 @@ { if( p->id() == ID_FORM ) return static_cast<HTMLFormElementImpl *>(p); - NodeImpl *s = p->previousSibling(); - if (!s) - p = p->parentNode(); - else - p = s; + p = p->parentNode(); } #ifdef FORMS_DEBUG kdDebug( 6030 ) << "couldn't find form!" << endl; --- branches/KDE/3.5/kdelibs/khtml/html/htmlparser.cpp #517004:517005 @@ -1388,6 +1388,15 @@ blockElem->removeChild(currNode, exceptionCode); newNode->appendChild(currNode, exceptionCode); currNode = nextNode; + + // TODO - To be replaced. + // Re-register form elements with currently active form, step 1 will have removed them + if (form) + { + HTMLGenericFormElementImpl *e = static_cast<HTMLGenericFormElementImpl *>(currNode); + if (e) + form->registerFormElement(e); + } } // Step 4: Place |newNode| under |blockElem|. |blockElem| is still out of the document, so no
This bug still occurs in KDE 3.5.2 (don't know if the above patch has been applied to 3.5.2 version?)
The fix will be in KDE 3.5.3