Files
Texture/CHANGELOG.md
Garrett Moon 6b54d052e9 Fix non layout (#309)
* Lock released between add to pend controller and modifying pend state

The existing design is pretty fraught with error. We should probably
rethink this but in the meantime, this fixes a bug where calling
setNeedsLayout can start failing for nodes.

Essentially the method ASDisplayNodeShouldApplyBridgedWriteToView has
a side effect of registering a node to apply it's pending state *if*
it doesn't currently need the pending state applied. My guess is this
was to avoid continually registering the node and this behavior actually
helped expose this bug.

The bug: after the node is registered for flushing it's state, several
code paths released the lock before applying that state to the pending
state object. Before it could re-obtain the lock to apply it to the pending
state, the pending state controller flushed it on the main thread.

On subsequent calls to setNeedsLayout, the pending state had pending state
already (from previous calls which missed the flush) and thus wasn't
registered for future flushing.

* Add changelog
2017-05-26 14:59:02 -07:00

4.7 KiB

master

  • Add your own contributions to the next release on the line below this with your name.
  • Fixed an issue where calls to setNeedsDisplay and setNeedsLayout would stop working on loaded nodes. Garrett Moon
  • [ASTextKitFontSizeAdjuster] [Ricky Cancro] Replace use of NSAttributedString's boundingRectWithSize:options:context: with NSLayoutManager's boundingRectForGlyphRange:inTextContainer:
  • Add support for IGListKit post-removal-of-IGListSectionType, in preparation for IGListKit 3.0.0 release. Adlai Holler #49
  • Fix __has_include check in ASLog.h Philipp Smorygo
  • Fix potential deadlock in ASControlNode Garrett Moon
  • [Yoga Beta] Improvements to the experimental support for Yoga layout Scott Goodson
  • Make cell node indexPath and supplementaryElementKind atomic so you can read from any thread. (Adlai-Holler)[https://github.com/Adlai-Holler] (#49)[https://github.com/TextureGroup/Texture/pull/74]
  • Update the rasterization API and un-deprecate it. Adlai Holler#82
  • Simplified & optimized hashing code. Adlai Holler #86
  • Improve the performance & safety of ASDisplayNode subnodes. Adlai Holler #223
  • Move more properties from ASTableView, ASCollectionView to their respective node classes. Adlai Holler
  • Remove finalLayoutElement [Michael Schneider] (https://github.com/maicki)#96
  • Add ASPageTable - A map table for fast retrieval of objects within a certain page Huy Nguyen
  • Add new public -supernodes, -supernodesIncludingSelf, and -supernodeOfClass:includingSelf: methods. Adlai Holler#246
  • Improve our handling supernode traversal to avoid loading layers and fix assertion failures you might hit in debug. Adlai Holler#246
  • [ASDisplayNode] Pass drawParameter in rendering context callbacks Michael Schneider#248
  • [ASTextNode] Move to class method of drawRect:withParameters:isCancelled:isRasterizing: for drawing [Michael Schneider] (https://github.com/maicki)#232
  • [ASDisplayNode] Remove instance:-drawRect:withParameters:isCancelled:isRasterizing: (https://github.com/maicki)#232
  • [ASTextNode] Add an experimental new implementation. See +[ASTextNode setExperimentOptions:]. Adlai Holler#259
  • [ASVideoNode] Added error reporing to ASVideoNode and it's delegate #260
  • [ASCollectionNode] Fixed conversion of item index paths between node & view. Adlai Holler #262
  • [Layout] Extract layout implementation code into it's own subcategories [Michael Schneider] (https://github.com/maicki)#272
  • [Fix] Fix a potential crash when cell nodes that need layout are deleted during the same runloop. Adlai Holler #279
  • [Batch fetching] Add ASBatchFetchingDelegate that takes scroll velocity and remaining time into account Huy Nguyen #281
  • [Fix] Fix a major regression in our image node contents caching. Adlai Holler #287
  • [Fix] Fixed a bug where ASVideoNodeDelegate error reporting callback would crash an app because of not responding to selector. Sergey Petrachkov #291
  • [IGListKit] Add IGListKit headers to public section of Xcode project [Michael Schneider] (https://github.com/maicki)#286
  • [Layout] Ensure -layout and -layoutDidFinish are called only if a node is loaded. Huy Nguyen #285