Changeset 48839 in webkit


Ignore:
Timestamp:
Sep 28, 2009 3:16:09 PM (15 years ago)
Author:
mrowe@apple.com
Message:

Roll out r48825. It causes build failures by calling an undefined function from within RefPtr.h.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r48837 r48839  
    198198
    199199        * wtf/Platform.h: Add a WTF_USE_QXMLQUERY #define.
    200 
    201 2009-09-28  Yongjun Zhang  <yongjun.zhang@nokia.com>
    202 
    203         Reviewed by Eric Seidel.
    204 
    205         https://bugs.webkit.org/show_bug.cgi?id=28054
    206        
    207         Use derefInNotNull() to work around winscw compiler forward declaration bug
    208         regarding templated classes.
    209 
    210         The compiler bug is reported at
    211         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
    212        
    213         The change should be reverted when the above bug is fixed in winscw compiler.
    214 
    215         Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make winscw compiler
    216         work with the default UnSpecifiedBoolType() operator, which removes the winscw hack.
    217 
    218         * wtf/RefPtr.h:
    219         (WTF::RefPtr::~RefPtr):
    220         (WTF::RefPtr::clear):
    221         (WTF::RefPtr::operator UnspecifiedBoolType):
    222200
    2232012009-09-28  Gabor Loki  <loki@inf.u-szeged.hu>
  • trunk/JavaScriptCore/wtf/RefPtr.h

    r48836 r48839  
    5151        bool isHashTableDeletedValue() const { return m_ptr == hashTableDeletedValue(); }
    5252
    53         ~RefPtr() { derefIfNotNull(m_ptr); }
     53        ~RefPtr() { if (T* ptr = m_ptr) ptr->deref(); }
    5454       
    5555        template <typename U> RefPtr(const RefPtr<U>& o) : m_ptr(o.get()) { if (T* ptr = m_ptr) ptr->ref(); }
     
    5757        T* get() const { return m_ptr; }
    5858       
    59         void clear() { derefIfNotNull(m_ptr); m_ptr = 0; }
     59        void clear() { if (T* ptr = m_ptr) ptr->deref(); m_ptr = 0; }
    6060        PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); m_ptr = 0; return tmp; }
    6161
     
    6666   
    6767        // This conversion operator allows implicit conversion to bool but not to other integer types.
    68         typedef T* (RefPtr::*UnspecifiedBoolType);
     68#if COMPILER(WINSCW)
     69        operator bool() const { return m_ptr; }
     70#else
     71        typedef T* RefPtr::*UnspecifiedBoolType;
    6972        operator UnspecifiedBoolType() const { return m_ptr ? &RefPtr::m_ptr : 0; }
     73#endif
    7074       
    7175        RefPtr& operator=(const RefPtr&);
  • trunk/WebCore/ChangeLog

    r48838 r48839  
    149149        (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console.
    150150        (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery.
    151 
    152 2009-09-28  Yongjun Zhang  <yongjun.zhang@nokia.com>
    153 
    154         Reviewed by Eric Seidel.
    155 
    156         Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
    157        
    158         Will be reverted when the following winscw compiler bug is fixed.
    159         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
    160 
    161         * bridge/jni/jni_instance.h:
    162151
    1631522009-09-28  Andrew Scherkus  <scherkus@chromium.org>
  • trunk/WebCore/bridge/jni/jni_instance.h

    r48825 r48839  
    4848friend class JavaMethod;
    4949
    50 public:
     50protected:
     51    JObjectWrapper(jobject instance);   
     52    ~JObjectWrapper();
     53   
    5154    void ref() { _refCount++; }
    5255    void deref()
     
    5659    }
    5760
    58 protected:
    59     JObjectWrapper(jobject instance);   
    60     ~JObjectWrapper();
    61    
    6261    jobject _instance;
    6362
Note: See TracChangeset for help on using the changeset viewer.