[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

mjs mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:51:26 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 3dce3c31f4820342444642df1d93f9667e292ae7
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 13 16:51:32 2003 +0000

            Reviewed by Ken Kocienda.
    
    	- fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
    
            * khtml/khtml_part.cpp:
            (KHTMLPart::write): ref the part around actually processing the
    	data, since a script could cause the part to go away.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index faabe23..5367b71 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,13 @@
+2003-08-12  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Ken Kocienda.
+
+	- fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
+	
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::write): ref the part around actually processing the
+	data, since a script could cause the part to go away.
+
 2003-08-12  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3262190, <li> bullets in mail were overly massive.  The bezier path the
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index faabe23..5367b71 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,13 @@
+2003-08-12  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Ken Kocienda.
+
+	- fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
+	
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::write): ref the part around actually processing the
+	data, since a script could cause the part to go away.
+
 2003-08-12  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3262190, <li> bullets in mail were overly massive.  The bezier path the
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index ce8fb71..2a858ee 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -1540,8 +1540,13 @@ void KHTMLPart::write( const char *str, int len )
   if (jScript())
     jScript()->appendSourceFile(m_url.url(),decoded);
   Tokenizer* t = d->m_doc->tokenizer();
+
+  // parsing some of the page can result in running a script which
+  // could possibly destroy the part. To avoid this, ref it temporarily.
+  ref();
   if(t)
     t->write( decoded, true );
+  deref();
 }
 
 void KHTMLPart::write( const QString &str )
diff --git a/WebCore/kwq/KWQKPartsPart.h b/WebCore/kwq/KWQKPartsPart.h
index b77e927..58f2597 100644
--- a/WebCore/kwq/KWQKPartsPart.h
+++ b/WebCore/kwq/KWQKPartsPart.h
@@ -33,6 +33,7 @@
 #include "KWQPtrList.h"
 #include "KWQStringList.h"
 #include "KWQValueList.h"
+#import "KWQTimer.h"
 
 class QWidget;
 
@@ -51,7 +52,7 @@ public:
     
     void ref() { ++_ref; }
     void deref() { if (!--_ref) delete this; }
-    
+
     bool event(QEvent *event) { customEvent((QCustomEvent *)event); return true; }
     virtual void customEvent(QCustomEvent *) { }
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list