[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

mrobinson at webkit.org mrobinson at webkit.org
Wed Dec 22 14:53:56 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f1cee06abc64b93c2fd64930093d298e5a637afe
Author: mrobinson at webkit.org <mrobinson at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Oct 23 15:08:49 2010 +0000

    2010-10-23  Martin Robinson  <mrobinson at igalia.com>
    
            Reviewed by Xan Lopez.
    
            Crashes randomly in cairo_scaled_font_destroy
            https://bugs.webkit.org/show_bug.cgi?id=46794
    
            Make PlatformRefPtr aware of hashTableDeletedValue. When PlatformRefPtr
            goes away this should probably be handled in the future via some special
            hooks in RefCounted (or its contained type).
    
            * wtf/PlatformRefPtr.h:
            (WTF::PlatformRefPtr::~PlatformRefPtr):
            (WTF::PlatformRefPtr::clear):
            (WTF::::operator):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 57573da..e0be518 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-10-23  Martin Robinson  <mrobinson at igalia.com>
+
+        Reviewed by Xan Lopez.
+
+        Crashes randomly in cairo_scaled_font_destroy
+        https://bugs.webkit.org/show_bug.cgi?id=46794
+
+        Make PlatformRefPtr aware of hashTableDeletedValue. When PlatformRefPtr
+        goes away this should probably be handled in the future via some special
+        hooks in RefCounted (or its contained type).
+
+        * wtf/PlatformRefPtr.h:
+        (WTF::PlatformRefPtr::~PlatformRefPtr):
+        (WTF::PlatformRefPtr::clear):
+        (WTF::::operator):
+
 2010-10-22  Adam Roben  <aroben at apple.com>
 
         Remove the QuartzCorePresent.h mechanism
diff --git a/JavaScriptCore/wtf/PlatformRefPtr.h b/JavaScriptCore/wtf/PlatformRefPtr.h
index 8ac16cb..f99ec9b 100644
--- a/JavaScriptCore/wtf/PlatformRefPtr.h
+++ b/JavaScriptCore/wtf/PlatformRefPtr.h
@@ -62,7 +62,8 @@ public:
 
     ~PlatformRefPtr()
     {
-        if (T* ptr = m_ptr)
+        T* ptr = m_ptr;
+        if (ptr && ptr != hashTableDeletedValue())
             derefPlatformPtr(ptr);
     }
 
@@ -70,7 +71,7 @@ public:
     {
         T* ptr = m_ptr;
         m_ptr = 0;
-        if (ptr)
+        if (ptr && ptr != hashTableDeletedValue())
             derefPlatformPtr(ptr);
     }
 
@@ -110,7 +111,7 @@ template <typename T> inline PlatformRefPtr<T>& PlatformRefPtr<T>::operator=(con
         refPlatformPtr(optr);
     T* ptr = m_ptr;
     m_ptr = optr;
-    if (ptr)
+    if (ptr && ptr != hashTableDeletedValue())
         derefPlatformPtr(ptr);
     return *this;
 }
@@ -121,7 +122,7 @@ template <typename T> inline PlatformRefPtr<T>& PlatformRefPtr<T>::operator=(T*
     if (optr)
         refPlatformPtr(optr);
     m_ptr = optr;
-    if (ptr)
+    if (ptr && ptr != hashTableDeletedValue())
         derefPlatformPtr(ptr);
     return *this;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list