Changeset 27208 in webkit


Ignore:
Timestamp:
Oct 28, 2007 9:37:37 PM (16 years ago)
Author:
darin
Message:
  • fix "broken everything" from the storage leak fix
  • wtf/RefPtr.h: (WTF::RefPtr::RefPtr): Added a PlacementNewAdopt constructor.
  • kjs/ustring.h: (KJS::UString::UString): Pass PlacementNewAdopt along to RefPtr.
Location:
trunk/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r27207 r27208  
     12007-10-28  Darin Adler  <darin@apple.com>
     2
     3        - fix "broken everything" from the storage leak fix
     4
     5        * wtf/RefPtr.h: (WTF::RefPtr::RefPtr): Added a PlacementNewAdopt constructor.
     6        * kjs/ustring.h: (KJS::UString::UString): Pass PlacementNewAdopt along to RefPtr.
     7
    182007-10-28  Darin Adler  <darin@apple.com>
    29
  • trunk/JavaScriptCore/kjs/ustring.h

    r27206 r27208  
    5151namespace KJS {
    5252
    53     enum PlacementNewAdoptType { PlacementNewAdopt };
     53  using WTF::PlacementNewAdoptType;
     54  using WTF::PlacementNewAdopt;
    5455
    5556  class UString;
     
    225226
    226227    // Special constructor for cases where we overwrite an object in place.
    227     UString(PlacementNewAdoptType) { }
     228    UString(PlacementNewAdoptType) : m_rep(PlacementNewAdopt) { }
    228229
    229230    /**
  • trunk/JavaScriptCore/wtf/RefPtr.h

    r27103 r27208  
    11// -*- mode: c++; c-basic-offset: 4 -*-
    22/*
    3  *  This file is part of the KDE libraries
    4  *  Copyright (C) 2005, 2006 Apple Computer, Inc.
     3 *  Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved.
    54 *
    65 *  This library is free software; you can redistribute it and/or
     
    2928namespace WTF {
    3029
     30    enum PlacementNewAdoptType { PlacementNewAdopt };
     31
    3132    template <typename T> class PassRefPtr;
    3233
    33     template <typename T> class RefPtr
    34     {
     34    template <typename T> class RefPtr {
    3535    public:
    3636        RefPtr() : m_ptr(0) {}
     
    3939        // see comment in PassRefPtr.h for why this takes const reference
    4040        template <typename U> RefPtr(const PassRefPtr<U>&);
     41
     42        // Special constructor for cases where we overwrite an object in place.
     43        RefPtr(PlacementNewAdoptType) { }
    4144
    4245        ~RefPtr() { if (T *ptr = m_ptr) ptr->deref(); }
     
    6669
    6770    private:
    68         T *m_ptr;
     71        T* m_ptr;
    6972    };
    7073   
Note: See TracChangeset for help on using the changeset viewer.