Changeset 70390 in webkit


Ignore:
Timestamp:
Oct 23, 2010 8:08:49 AM (14 years ago)
Author:
Martin Robinson
Message:

2010-10-23 Martin Robinson <mrobinson@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):
Location:
trunk/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r70320 r70390  
     12010-10-23  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Xan Lopez.
     4
     5        Crashes randomly in cairo_scaled_font_destroy
     6        https://bugs.webkit.org/show_bug.cgi?id=46794
     7
     8        Make PlatformRefPtr aware of hashTableDeletedValue. When PlatformRefPtr
     9        goes away this should probably be handled in the future via some special
     10        hooks in RefCounted (or its contained type).
     11
     12        * wtf/PlatformRefPtr.h:
     13        (WTF::PlatformRefPtr::~PlatformRefPtr):
     14        (WTF::PlatformRefPtr::clear):
     15        (WTF::::operator):
     16
    1172010-10-22  Adam Roben  <aroben@apple.com>
    218
  • trunk/JavaScriptCore/wtf/PlatformRefPtr.h

    r67724 r70390  
    6363    ~PlatformRefPtr()
    6464    {
    65         if (T* ptr = m_ptr)
     65        T* ptr = m_ptr;
     66        if (ptr && ptr != hashTableDeletedValue())
    6667            derefPlatformPtr(ptr);
    6768    }
     
    7172        T* ptr = m_ptr;
    7273        m_ptr = 0;
    73         if (ptr)
     74        if (ptr && ptr != hashTableDeletedValue())
    7475            derefPlatformPtr(ptr);
    7576    }
     
    111112    T* ptr = m_ptr;
    112113    m_ptr = optr;
    113     if (ptr)
     114    if (ptr && ptr != hashTableDeletedValue())
    114115        derefPlatformPtr(ptr);
    115116    return *this;
     
    122123        refPlatformPtr(optr);
    123124    m_ptr = optr;
    124     if (ptr)
     125    if (ptr && ptr != hashTableDeletedValue())
    125126        derefPlatformPtr(ptr);
    126127    return *this;
Note: See TracChangeset for help on using the changeset viewer.