CVS commit by mojo: Never propagate exceptions between module boundaries (in C++). KHTML DOM::DOMException can be raised when calling Node::insertBefore and, in some situations/distributions, caughting the exception doesn't work outside KHTML, i.e., Quanta. So, try to prevent the exception to be raised when possible. This should fix all the reported problems. BUG: 99826 CCMAIL: quanta-devel@kde.org M +5 -2 htmlenhancer.cpp 1.24 M +1 -10 kafkacommon.cpp 1.81 M +30 -23 wkafkapart.cpp 1.98 --- kdewebdev/quanta/parts/kafka/htmlenhancer.cpp #1.23:1.24 @@ -127,6 +127,9 @@ bool HTMLEnhancer::enhanceNode(Node *nod } + QTag* qTag = QuantaCommon::tagFromDTD(m_wkafkapart->getCurrentDoc()->defaultDTD(), + parentDNode.nodeName().string()); + //THEN replace, if asked, scripts by a little icon. - if(node->tag->type == Tag::ScriptTag && m_showIconForScripts) + if(node->tag->type == Tag::ScriptTag && m_showIconForScripts && qTag->isChild("IMG", false)) { script = node->tag->name.left(node->tag->name.find("block", 0, false) - 1).lower(); @@ -165,5 +168,5 @@ bool HTMLEnhancer::enhanceNode(Node *nod //THEN if it is a comment, add a little icon ;o) - if(node->tag->type == Tag::Comment && m_showIconForScripts) + if(node->tag->type == Tag::Comment && m_showIconForScripts && qTag->isChild("IMG", false)) { #ifdef LIGHT_DEBUG --- kdewebdev/quanta/parts/kafka/kafkacommon.cpp #1.80:1.81 @@ -3639,17 +3639,8 @@ bool kafkaCommon::insertDomNode(DOM::Nod { parent.insertBefore(node, nextSibling); -#ifdef HEAVY_DEBUG - } - catch(DOM::DOMException e) + catch(DOM::DOMException const& e) { kdDebug(25001)<< "kafkaCommon::insertDomNode() - ERROR code :" << e.code << endl; -#else - - } - catch(DOM::DOMException) - { -#endif - return false; } return true; --- kdewebdev/quanta/parts/kafka/wkafkapart.cpp #1.97:1.98 @@ -721,4 +721,10 @@ bool KafkaDocument::buildKafkaNodeFromNo mainEnhancer->enhanceNode(node, parentNode, nextNode); + QTag* qTag = QuantaCommon::tagFromDTD(getCurrentDoc()->defaultDTD(), + parentNode.nodeName().string()); + + if(qTag->isChild(node, false)) + { + if(nextNode.isNull()) { @@ -744,4 +750,5 @@ bool KafkaDocument::buildKafkaNodeFromNo } } + } else { _______________________________________________ quanta-devel mailing list quanta-devel@kde.org https://mail.kde.org/mailman/listinfo/quanta-devel