Title: [201991] trunk/Source/WTF
Revision
201991
Author
[email protected]
Date
2016-06-13 09:27:50 -0700 (Mon, 13 Jun 2016)

Log Message

Stack overflow at RefPtr::release on Windows port since r201782
https://bugs.webkit.org/show_bug.cgi?id=158687

Patch by Fujii Hironori <[email protected]> on 2016-06-13
Reviewed by Chris Dumez.

RefPtr::release calls RefPtr::RefPtr, and RefPtr::RefPtr calls
RefPtr::release.

RefPtr::RefPtr does not need to call RefPtr::release.

* wtf/RefPtr.h:
(WTF::RefPtr::RefPtr): Do not call RefPtr::release.

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (201990 => 201991)


--- trunk/Source/WTF/ChangeLog	2016-06-13 15:53:42 UTC (rev 201990)
+++ trunk/Source/WTF/ChangeLog	2016-06-13 16:27:50 UTC (rev 201991)
@@ -1,3 +1,18 @@
+2016-06-13  Fujii Hironori  <[email protected]>
+
+        Stack overflow at RefPtr::release on Windows port since r201782
+        https://bugs.webkit.org/show_bug.cgi?id=158687
+
+        Reviewed by Chris Dumez.
+
+        RefPtr::release calls RefPtr::RefPtr, and RefPtr::RefPtr calls
+        RefPtr::release.
+
+        RefPtr::RefPtr does not need to call RefPtr::release.
+
+        * wtf/RefPtr.h:
+        (WTF::RefPtr::RefPtr): Do not call RefPtr::release.
+
 2016-06-11  Myles C. Maxfield  <[email protected]>
 
         Addressing post-review comments after r201978.

Modified: trunk/Source/WTF/wtf/RefPtr.h (201990 => 201991)


--- trunk/Source/WTF/wtf/RefPtr.h	2016-06-13 15:53:42 UTC (rev 201990)
+++ trunk/Source/WTF/wtf/RefPtr.h	2016-06-13 16:27:50 UTC (rev 201991)
@@ -49,8 +49,8 @@
     ALWAYS_INLINE RefPtr(const RefPtr& o) : m_ptr(o.m_ptr) { refIfNotNull(m_ptr); }
     template<typename U> RefPtr(const RefPtr<U>& o) : m_ptr(o.get()) { refIfNotNull(m_ptr); }
 
-    ALWAYS_INLINE RefPtr(RefPtr&& o) : m_ptr(o.release().leakRef()) { }
-    template<typename U> RefPtr(RefPtr<U>&& o) : m_ptr(o.release().leakRef()) { }
+    ALWAYS_INLINE RefPtr(RefPtr&& o) : m_ptr(o.leakRef()) { }
+    template<typename U> RefPtr(RefPtr<U>&& o) : m_ptr(o.leakRef()) { }
 
     // See comments in PassRefPtr.h for an explanation of why this takes a const reference.
     template<typename U> RefPtr(const PassRefPtr<U>&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to