From ad2f475b4b0f7f2c6df20377643184d8505f6b3b Mon Sep 17 00:00:00 2001 From: Carlos Compean Date: Mon, 11 Sep 2023 11:43:37 -0600 Subject: [PATCH] [Cherry-pick] Fix build errors and a crash in xcode 15 (#2093) * Fix build errors and a crash in xcode 15 * early return if 0 or negative dimensions found Commit: 923901a1cebf0b6c51627aca2a6748dee84af143 --- Podfile.lock | 8 ++++---- Source/Details/ASGraphicsContext.mm | 4 ++++ Source/Details/ASThread.h | 2 +- Source/Layout/ASDimensionInternal.h | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index 95acfcef1..a7341b8b5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,6 +1,6 @@ PODS: - iOSSnapshotTestCase/Core (6.2.0) - - OCMock (3.6) + - OCMock (3.9.1) DEPENDENCIES: - iOSSnapshotTestCase/Core (~> 6.2) @@ -13,8 +13,8 @@ SPEC REPOS: SPEC CHECKSUMS: iOSSnapshotTestCase: 9ab44cb5aa62b84d31847f40680112e15ec579a6 - OCMock: 5ea90566be239f179ba766fd9fbae5885040b992 + OCMock: 9491e4bec59e0b267d52a9184ff5605995e74be8 -PODFILE CHECKSUM: ff1a1777e31f49e6e4b7b148d0f10e504db7fa26 +PODFILE CHECKSUM: 0a3b63450c1b52ec105545b62c41089097e077d6 -COCOAPODS: 1.9.1 +COCOAPODS: 1.12.1 diff --git a/Source/Details/ASGraphicsContext.mm b/Source/Details/ASGraphicsContext.mm index 8f543e06f..e8e7c3f83 100644 --- a/Source/Details/ASGraphicsContext.mm +++ b/Source/Details/ASGraphicsContext.mm @@ -47,6 +47,10 @@ NS_INLINE void ASConfigureExtendedRange(UIGraphicsImageRendererFormat *format) } UIImage *ASGraphicsCreateImage(ASPrimitiveTraitCollection traitCollection, CGSize size, BOOL opaque, CGFloat scale, UIImage * sourceImage, asdisplaynode_iscancelled_block_t NS_NOESCAPE isCancelled, void (NS_NOESCAPE ^work)()) { + if (size.width <= 0 || size.height <= 0) { + return nil; + } + if (AS_AVAILABLE_IOS_TVOS(10, 10)) { if (ASActivateExperimentalFeature(ASExperimentalDrawingGlobal)) { // If they used default scale, reuse one of two preferred formats. diff --git a/Source/Details/ASThread.h b/Source/Details/ASThread.h index 0ef3d325a..d5187a358 100644 --- a/Source/Details/ASThread.h +++ b/Source/Details/ASThread.h @@ -20,7 +20,7 @@ #import #import -ASDISPLAYNODE_INLINE AS_WARN_UNUSED_RESULT BOOL ASDisplayNodeThreadIsMain() +ASDISPLAYNODE_INLINE AS_WARN_UNUSED_RESULT BOOL ASDisplayNodeThreadIsMain(void) { return 0 != pthread_main_np(); } diff --git a/Source/Layout/ASDimensionInternal.h b/Source/Layout/ASDimensionInternal.h index dced2ffae..51dcdf75b 100644 --- a/Source/Layout/ASDimensionInternal.h +++ b/Source/Layout/ASDimensionInternal.h @@ -38,7 +38,7 @@ typedef struct { /** * Returns an ASLayoutElementSize with default values. */ -ASDISPLAYNODE_INLINE AS_WARN_UNUSED_RESULT ASLayoutElementSize ASLayoutElementSizeMake() +ASDISPLAYNODE_INLINE AS_WARN_UNUSED_RESULT ASLayoutElementSize ASLayoutElementSizeMake(void) { return (ASLayoutElementSize){ .width = ASDimensionAuto,