Commit Graph

11 Commits

Author SHA1 Message Date
Max Wang
f4f1454be1 Pointer check #trivial (#970) 2018-06-18 18:38:26 -07:00
Adlai Holler
cac14e0bce Standardize Property Declaration Style in Core Classes (#870)
* Audit property attributes for core classes

* Update style guide

* Go crazy

* Update changelog
2018-05-24 14:42:43 -07:00
appleguy
b2e5f9ec64 [ASTextNode2] Simplify compare-assign check & lock _pointScaleFactors accessor #trivial (#934) 2018-05-22 07:58:33 -07:00
appleguy
6799e26b03 [ASTextNode2] Upgrade lock safety by protecting all ivars (including rarely-changed ones). (#918)
* [ASTextNode2] Upgrade lock safety by protecting all ivars (including rarely-changed ones).

Although I don't know of any specific crashes caused by this, I think we should
lock all properties by default. There are also some indications of premature
optimization in keeping lock scope small, where it is actually important to
have transactional integrity, and also where the ASDisplayNode base class is
otherwise going to repeatedly re-lock the object anyway.

I think this will remain pretty efficient, especially with os_unfair_lock enabled.

* Use compare-assign macros
2018-05-19 12:47:06 -07:00
Adlai Holler
0f9b1e6789 Make objects conform to NSLocking (#851)
* Make display node, layout spec, and style conform to NSLocking so that users/subclasses can access their locks

* Update the changelog

* Align slashes

* Put it back, when we're in ASDisplayNode

* Go a little further

* Put back the changes I didn't mean to commit

* Kick the CI

* Fix yoga build

* Put back non-locking change

* Address comments from Scott
2018-03-25 10:46:04 -07:00
Adlai Holler
2b12654810 Use NS_RETURNS_RETAINED macro to save time (#843)
* Use NS_RETURNS_RETAINED macro to save time

* Update changelog and do the thing with the license headers
2018-03-21 08:13:09 -07:00
Michael Schneider
0b101135ba Handle nil backgroundColor in ASTextNode2 #trivial (#841)
* Handle nil backgroundColor

* Small improvement
2018-03-16 20:08:19 -07:00
Adlai Holler
5cafdb9062 [ASTextNode2] Fix background color drawing (#831)
* Fix TextNode2 not respecting background color

* ASTextNode2: Use locks and copies right

* Increment changelog

* Make the Dangerfile accept any license header with Pinterest in it
2018-03-12 13:42:33 -07:00
Michael Schneider
600b6cb76d Fix ASTextNode2 is accessing backgroundColor off main while sizing / layout is happening (#794) 2018-02-08 08:28:14 -08:00
Huy Nguyen
8e0aa1ea73 Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated (#577)
* Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated

* Allocate static mutexes on the heap memory to avoid destruction at app exit

* ASThread to use ASDisplayNodeCAssert() instead of assert()
2017-09-22 11:53:41 +01:00
appleguy
2cda73a334 [ASTextNode2] Provide compiler flag to enable ASTextNode2 for all usages. (#410)
* [ASTextNode2] Provide compiler flag to enable ASTextNode2 for all usages.

The runtime switch is helpful, but is too slow to be shipped in a large
production application where startup time is carefully optimized.

Although this doesn't pass text-related snapshot tests when enabled, it
does allow apps to rely on built-in components like ASButtonNode using
the same text stack as when they are manually creating ASTextNode2
instances.

A simpler approach would be to use a #define ASTextNode ASTextNode2,
but this would create unusual keyword highlighting in code referencing
ASTextNode. However, because it would be less invasive and this is
not on by default, we could do that instead if preferred.

* Update AsyncDisplayKit.h

* [ASTextNode2] Improve naming and documentation of ASTEXTNODE_EXPERIMENT_GLOBAL_ENABLE

* [ASTextNode2] CHANGELOG.md for #410.
2017-07-02 21:40:51 -07:00