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

List:       quanta-devel
Subject:    [quanta-devel] kdewebdev/quanta/parts/kafka
From:       Paulo Moura Guedes <moura () kdewebdev ! org>
Date:       2005-04-23 17:53:56
Message-ID: 20050423175356.483384AA () office ! kde ! org
[Download RAW message or body]

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


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

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