diff --git a/CHANGELOG.md b/CHANGELOG.md index f31ec5165..88f11a34d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ * `Project` Make `#==` a fast shallow comparison method, which operates only on its root object UUID and its path on disk. For full data comparisons, use the - `#eql?` method instead. + `#eql?` method instead. [Eloy Durán](https://github.com/alloy) [Xcodeproj#216](https://github.com/CocoaPods/Xcodeproj/pull/216) @@ -19,6 +19,15 @@ [Eloy Durán](https://github.com/alloy) [Xcodeproj#216](https://github.com/CocoaPods/Xcodeproj/pull/216) +###### Bug Fixes + +* `CoreFoundation` Hopefully fix a Ruby constant lookup issue. We have been + unable to reproduce this, but since more than one person has reported it, + we're including this fix in the hope it fixes this esoteric issue. + [Eloy Durán](https://github.com/alloy) + [CocoaPods#2632](https://github.com/CocoaPods/CocoaPods/issues/2632) + [CocoaPods#2739](https://github.com/CocoaPods/CocoaPods/issues/2739) + ## 0.20.0 diff --git a/lib/xcodeproj/plist_helper.rb b/lib/xcodeproj/plist_helper.rb index 6c1e7c177..0bc1aadb2 100644 --- a/lib/xcodeproj/plist_helper.rb +++ b/lib/xcodeproj/plist_helper.rb @@ -310,10 +310,13 @@ def self.CFTypeDictionaryValueCallBacks # This pointer will assign `CFRelease` as the free function when # dereferencing the pointer. # + # @note This means that the object will *not* be released if it's not + # dereferenced, but that would be a leak anyways, so be sure to do so. + # def self.CFTypeRefPointer pointer = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INTPTR_T, free_function) def pointer.ptr - CFAutoRelease(super) + ::CoreFoundation.CFAutoRelease(super) end pointer end