[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/khtml/html
From: Maks Orlovich <maksim () kde ! org>
Date: 2009-09-30 17:07:24
Message-ID: 1254330444.616246.26456.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1029757 by orlovich:
automatically merged revision 1029754:
Don't set m_render before computing style for HTMLFrameSetElementImpl
as that can crash if we need to determine isContentEditable.
Also fixup missing && childAllowed() I noticed while looking at this.
BUG:206038
BUG:202682
M +10 -7 html_baseimpl.cpp
--- trunk/KDE/kdelibs/khtml/html/html_baseimpl.cpp #1029756:1029757
@@ -220,7 +220,8 @@
RenderStyle* style = document()->styleSelector()->styleForElement(this);
style->ref();
- if (parentNode()->renderer() && style->display() != NONE) {
+ if (parentNode()->renderer() && parentNode()->renderer()->childAllowed()
+ && style->display() != NONE) {
if (style->display() == BLOCK)
// only use the quirky class for block display
m_render = new (document()->renderArena()) RenderBody(this);
@@ -371,7 +372,8 @@
node = static_cast<HTMLElementImpl*>(node->parentNode());
}
- if (parentNode()->renderer() && document()->isURLAllowed(url.string())) {
+ if (parentNode()->renderer() && parentNode()->renderer()->childAllowed()
+ && document()->isURLAllowed(url.string())) {
RenderStyle* _style = document()->styleSelector()->styleForElement(this);
_style->ref();
if ( _style->display() != NONE ) {
@@ -620,10 +622,11 @@
}
// ignore display: none
- if ( parentNode()->renderer() ) {
+ if ( parentNode()->renderer() && parentNode()->renderer()->childAllowed() ) {
+ RenderStyle* _style = document()->styleSelector()->styleForElement(this);
m_render = new (document()->renderArena()) RenderFrameSet(this);
- m_render->setStyle(document()->styleSelector()->styleForElement(this));
- parentNode()->renderer()->addChild(m_render, nextRenderer());
+ m_render->setStyle(_style);
+ parentNode()->renderer()->addChild(m_render, nextRenderer());
}
NodeBaseImpl::attach();
@@ -754,8 +757,8 @@
RenderStyle* style = document()->styleSelector()->styleForElement(this);
style->ref();
- if (document()->isURLAllowed(url.string()) &&
- parentNode()->renderer() && style->display() != NONE) {
+ if (document()->isURLAllowed(url.string()) && parentNode()->renderer()
+ && parentNode()->renderer()->childAllowed() && style->display() != NONE) {
m_render = new (document()->renderArena()) RenderPartObject(this);
m_render->setStyle(style);
parentNode()->renderer()->addChild(m_render, nextRenderer());
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic