Skip to content

Commit 602f5c8

Browse files
committed
Fix macOS/iOS builds
- Updated projects to use ARC (automatic reference counting) - Removed non-ARC constructs
1 parent cd1d701 commit 602f5c8

File tree

7 files changed

+31
-32
lines changed

7 files changed

+31
-32
lines changed

include/cinder/app/cocoa/PlatformCocoa.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ class PlatformCocoa : public Platform {
123123
#endif
124124

125125
private:
126-
NSAutoreleasePool* mAutoReleasePool;
127126
mutable NSBundle* mBundle;
128127

129128
bool mDisplaysInitialized;

proj/xcode/cinder.xcodeproj/project.pbxproj

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -621,9 +621,6 @@
621621
27C100C21BD16D4800AF387F /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0074399D0EA7BB7D005DD3E6 /* CoreVideo.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
622622
27C100C31BD16D4800AF387F /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7B9305B121C94E900093AFE /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
623623
27C100C41BD16D4800AF387F /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7B92EF5121C828400093AFE /* CoreMedia.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
624-
27C100C51BD16D4800AF387F /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
625-
27C100C61BD16D4800AF387F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
626-
27C100C71BD16D4800AF387F /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007439920EA7BB47005DD3E6 /* QTKit.framework */; };
627624
27C100C81BD16D4800AF387F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00E0B4B10F605D64002C8FBD /* CoreGraphics.framework */; };
628625
27C100C91BD16D4800AF387F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7BA40880FA8C13A00AADC07 /* AudioToolbox.framework */; };
629626
27C100CA1BD16D4800AF387F /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7BA408A0FA8C13A00AADC07 /* AudioUnit.framework */; };
@@ -954,8 +951,6 @@
954951
27C1FF681BD0AE3400AF387F /* ImageSourceFileQuartz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 009FD55610CAB8B700D63B1B /* ImageSourceFileQuartz.cpp */; };
955952
27C1FF6A1BD0AE3400AF387F /* vorbisfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 111A5E95191F703D005C3166 /* vorbisfile.c */; settings = {COMPILER_FLAGS = "-Wno-unused -Wno-conversion"; }; };
956953
27C1FF6C1BD0AE3400AF387F /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7B92EF5121C828400093AFE /* CoreMedia.framework */; };
957-
27C1FF6D1BD0AE3400AF387F /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
958-
27C1FF6E1BD0AE3400AF387F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
959954
27C1FF6F1BD0AE3400AF387F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00E0B4B10F605D64002C8FBD /* CoreGraphics.framework */; };
960955
27C1FF701BD0AE3400AF387F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7BA40880FA8C13A00AADC07 /* AudioToolbox.framework */; };
961956
27C1FF711BD0AE3400AF387F /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C7BA408A0FA8C13A00AADC07 /* AudioUnit.framework */; };
@@ -2352,9 +2347,6 @@
23522347
27C100C21BD16D4800AF387F /* CoreVideo.framework in Frameworks */,
23532348
27C100C31BD16D4800AF387F /* AVFoundation.framework in Frameworks */,
23542349
27C100C41BD16D4800AF387F /* CoreMedia.framework in Frameworks */,
2355-
27C100C51BD16D4800AF387F /* AppKit.framework in Frameworks */,
2356-
27C100C61BD16D4800AF387F /* Cocoa.framework in Frameworks */,
2357-
27C100C71BD16D4800AF387F /* QTKit.framework in Frameworks */,
23582350
27C100C81BD16D4800AF387F /* CoreGraphics.framework in Frameworks */,
23592351
27C100C91BD16D4800AF387F /* AudioToolbox.framework in Frameworks */,
23602352
27C100CA1BD16D4800AF387F /* AudioUnit.framework in Frameworks */,
@@ -2367,8 +2359,6 @@
23672359
buildActionMask = 2147483647;
23682360
files = (
23692361
27C1FF6C1BD0AE3400AF387F /* CoreMedia.framework in Frameworks */,
2370-
27C1FF6D1BD0AE3400AF387F /* AppKit.framework in Frameworks */,
2371-
27C1FF6E1BD0AE3400AF387F /* Cocoa.framework in Frameworks */,
23722362
27C1FF6F1BD0AE3400AF387F /* CoreGraphics.framework in Frameworks */,
23732363
27C1FF701BD0AE3400AF387F /* AudioToolbox.framework in Frameworks */,
23742364
27C1FF711BD0AE3400AF387F /* AudioUnit.framework in Frameworks */,
@@ -4756,7 +4746,7 @@
47564746
0867D690FE84028FC02AAC07 /* Project object */ = {
47574747
isa = PBXProject;
47584748
attributes = {
4759-
LastUpgradeCheck = 1130;
4749+
LastUpgradeCheck = 1150;
47604750
};
47614751
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "cinder" */;
47624752
compatibilityVersion = "Xcode 3.2";
@@ -5573,12 +5563,11 @@
55735563
isa = XCBuildConfiguration;
55745564
buildSettings = {
55755565
ALWAYS_SEARCH_USER_PATHS = NO;
5576-
ARCHS = "$(ARCHS_STANDARD)";
55775566
CHECKED_STL = "-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC";
5567+
CLANG_ENABLE_OBJC_WEAK = YES;
55785568
COMBINE_HIDPI_IMAGES = YES;
55795569
COPY_PHASE_STRIP = NO;
55805570
GCC_DYNAMIC_NO_PIC = NO;
5581-
GCC_ENABLE_OBJC_GC = unsupported;
55825571
GCC_OPTIMIZATION_LEVEL = 0;
55835572
GCC_PRECOMPILE_PREFIX_HEADER = YES;
55845573
GCC_PREFIX_HEADER = cinder_Prefix.pch;
@@ -5612,13 +5601,12 @@
56125601
isa = XCBuildConfiguration;
56135602
buildSettings = {
56145603
ALWAYS_SEARCH_USER_PATHS = NO;
5615-
ARCHS = "$(ARCHS_STANDARD)";
5604+
CLANG_ENABLE_OBJC_WEAK = YES;
56165605
COMBINE_HIDPI_IMAGES = YES;
56175606
COPY_PHASE_STRIP = NO;
56185607
DEAD_CODE_STRIPPING = YES;
56195608
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
56205609
GCC_DEBUGGING_SYMBOLS = full;
5621-
GCC_ENABLE_OBJC_GC = unsupported;
56225610
GCC_FAST_MATH = YES;
56235611
GCC_OPTIMIZATION_LEVEL = 3;
56245612
GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -5653,17 +5641,29 @@
56535641
isa = XCBuildConfiguration;
56545642
buildSettings = {
56555643
ALWAYS_SEARCH_USER_PATHS = NO;
5644+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
56565645
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
56575646
CLANG_CXX_LIBRARY = "libc++";
5647+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
56585648
CLANG_WARN_BOOL_CONVERSION = YES;
5649+
CLANG_WARN_COMMA = YES;
56595650
CLANG_WARN_CONSTANT_CONVERSION = YES;
5651+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
56605652
CLANG_WARN_EMPTY_BODY = YES;
56615653
CLANG_WARN_ENUM_CONVERSION = YES;
5654+
CLANG_WARN_INFINITE_RECURSION = YES;
56625655
CLANG_WARN_INT_CONVERSION = YES;
5656+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
5657+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
5658+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
5659+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
5660+
CLANG_WARN_STRICT_PROTOTYPES = YES;
5661+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
56635662
CLANG_WARN_UNREACHABLE_CODE = YES;
56645663
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
56655664
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
56665665
ENABLE_STRICT_OBJC_MSGSEND = YES;
5666+
ENABLE_TESTABILITY = YES;
56675667
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
56685668
GCC_NO_COMMON_BLOCKS = YES;
56695669
GCC_OBJC_CALL_CXX_CDTORS = YES;
@@ -5683,6 +5683,7 @@
56835683
../../include/oggvorbis,
56845684
);
56855685
OBJROOT = build/;
5686+
ONLY_ACTIVE_ARCH = YES;
56865687
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
56875688
USER_HEADER_SEARCH_PATHS = "../../include ../../src/oggvorbis/vorbis ../../src/r8brain";
56885689
};
@@ -5692,13 +5693,24 @@
56925693
isa = XCBuildConfiguration;
56935694
buildSettings = {
56945695
ALWAYS_SEARCH_USER_PATHS = NO;
5696+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
56955697
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
56965698
CLANG_CXX_LIBRARY = "libc++";
5699+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
56975700
CLANG_WARN_BOOL_CONVERSION = YES;
5701+
CLANG_WARN_COMMA = YES;
56985702
CLANG_WARN_CONSTANT_CONVERSION = YES;
5703+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
56995704
CLANG_WARN_EMPTY_BODY = YES;
57005705
CLANG_WARN_ENUM_CONVERSION = YES;
5706+
CLANG_WARN_INFINITE_RECURSION = YES;
57015707
CLANG_WARN_INT_CONVERSION = YES;
5708+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
5709+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
5710+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
5711+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
5712+
CLANG_WARN_STRICT_PROTOTYPES = YES;
5713+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
57025714
CLANG_WARN_UNREACHABLE_CODE = YES;
57035715
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
57045716
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
@@ -5732,6 +5744,7 @@
57325744
buildSettings = {
57335745
ALTERNATE_PERMISSIONS_FILES = i386;
57345746
ALWAYS_SEARCH_USER_PATHS = NO;
5747+
CLANG_ENABLE_OBJC_WEAK = YES;
57355748
COPY_PHASE_STRIP = NO;
57365749
GCC_DYNAMIC_NO_PIC = NO;
57375750
GCC_OPTIMIZATION_LEVEL = 0;
@@ -5769,6 +5782,7 @@
57695782
buildSettings = {
57705783
ALTERNATE_PERMISSIONS_FILES = i386;
57715784
ALWAYS_SEARCH_USER_PATHS = NO;
5785+
CLANG_ENABLE_OBJC_WEAK = YES;
57725786
COPY_PHASE_STRIP = NO;
57735787
DEAD_CODE_STRIPPING = YES;
57745788
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@@ -5808,6 +5822,7 @@
58085822
isa = XCBuildConfiguration;
58095823
buildSettings = {
58105824
ALWAYS_SEARCH_USER_PATHS = NO;
5825+
CLANG_ENABLE_OBJC_WEAK = YES;
58115826
COPY_PHASE_STRIP = NO;
58125827
ENABLE_BITCODE = NO;
58135828
GCC_DYNAMIC_NO_PIC = NO;
@@ -5846,6 +5861,7 @@
58465861
isa = XCBuildConfiguration;
58475862
buildSettings = {
58485863
ALWAYS_SEARCH_USER_PATHS = NO;
5864+
CLANG_ENABLE_OBJC_WEAK = YES;
58495865
COPY_PHASE_STRIP = NO;
58505866
DEAD_CODE_STRIPPING = YES;
58515867
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";

src/AntTweakBar/TwMgr.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6399,8 +6399,6 @@ CTwMgr::CCursor CTwMgr::PixmapCursor(int _CurIdx)
63996399
[img addRepresentation: imgr];
64006400
NSCursor *cur = [[NSCursor alloc] initWithImage: img hotSpot: NSMakePoint(g_CurHot[_CurIdx][0],g_CurHot[_CurIdx][1])];
64016401

6402-
[imgr autorelease];
6403-
[img autorelease];
64046402
if (cur)
64056403
return cur;
64066404
else

src/cinder/app/Renderer.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,11 @@ Renderer2d::Renderer2d()
7272
#if defined( CINDER_MAC )
7373
Renderer2d::~Renderer2d()
7474
{
75-
if( mImpl )
76-
::CFRelease( mImpl );
7775
}
7876

7977
void Renderer2d::setup( CGRect frame, NSView *cinderView, RendererRef /*sharedRenderer*/, bool retinaEnabled )
8078
{
8179
mImpl = [[RendererImpl2dMacQuartz alloc] initWithFrame:NSRectFromCGRect(frame) cinderView:cinderView];
82-
// This is necessary for Objective-C garbage collection to do the right thing
83-
::CFRetain( mImpl );
8480
}
8581

8682
#else

src/cinder/app/RendererGl.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,12 @@ RendererGl::RendererGl( const RendererGl &renderer )
6767
#if defined( CINDER_MAC )
6868
RendererGl::~RendererGl()
6969
{
70-
if( mImpl )
71-
::CFRelease( mImpl );
7270
}
7371

7472
void RendererGl::setup( CGRect frame, NSView *cinderView, RendererRef sharedRenderer, bool retinaEnabled )
7573
{
7674
RendererGlRef sharedGl = std::dynamic_pointer_cast<RendererGl>( sharedRenderer );
7775
mImpl = [[RendererImplGlMac alloc] initWithFrame:NSRectFromCGRect(frame) cinderView:cinderView renderer:this sharedRenderer:sharedGl withRetina:retinaEnabled];
78-
// This is necessary for Objective-C garbage collection to do the right thing
79-
::CFRetain( mImpl );
8076
}
8177

8278
void RendererGl::startDraw()

src/cinder/app/cocoa/PlatformCocoa.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ PlatformCocoa::PlatformCocoa()
5252
, mInsideModalLoop( false )
5353
#endif
5454
{
55-
mAutoReleasePool = [[NSAutoreleasePool alloc] init];
56-
5755
// This is necessary to force the linker not to strip these symbols from libboost_filesystem.a,
5856
// which in turn would force users to explicitly link to that lib from their own apps.
5957
auto dummy2 = fs::temp_directory_path();
@@ -72,7 +70,6 @@ void PlatformCocoa::prepareLaunch()
7270

7371
void PlatformCocoa::cleanupLaunch()
7472
{
75-
[mAutoReleasePool drain];
7673
}
7774

7875
void PlatformCocoa::setBundle( NSBundle *bundle )

src/cinder/qtime/QuickTimeImplAvf.mm

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -699,12 +699,9 @@ - (void)outputSequenceWasFlushed:(AVPlayerItemOutput *)output
699699

700700
void MovieBase::createPlayerItemOutput( const AVPlayerItem* playerItem )
701701
{
702-
AVPlayerItemVideoOutput *oldPlayerVideoOutput = mPlayerVideoOutput;
703702
mPlayerVideoOutput = [[AVPlayerItemVideoOutput alloc] initWithPixelBufferAttributes:avPlayerItemOutputDictionary()];
704-
[oldPlayerVideoOutput release];
705703
dispatch_queue_t outputQueue = dispatch_queue_create("movieVideoOutputQueue", DISPATCH_QUEUE_SERIAL);
706704
[mPlayerVideoOutput setDelegate:mPlayerDelegate queue:outputQueue];
707-
dispatch_release(outputQueue);
708705
mPlayerVideoOutput.suppressesPlayerRendering = YES;
709706
[playerItem addOutput:mPlayerVideoOutput];
710707
}

0 commit comments

Comments
 (0)