Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

dnfield
Copy link
Contributor

@dnfield dnfield commented Jan 7, 2019

Fixes flutter/flutter#26061

Crash was caused because runs_ gets moved after build is called. PushStyle codepaths attempt to use it again after the move, causing a NPE.

This makes build() reset the paragraph builder to its initial state, making it safe to call these methods on the builder after build.

This is technically a change in behavior - ParagraphBuilders will be reusable after build to create new paragraphs, although I don't think we want to document that or commit to it being the case.

@dnfield dnfield merged commit 4036b26 into flutter:master Jan 8, 2019
@dnfield dnfield deleted the paragraph_builder_reset branch January 8, 2019 00:10
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
bkonyi added a commit to flutter/flutter that referenced this pull request Jan 8, 2019
flutter/engine@7112b72...e5ec3cf

git log
7112b72..e5ec3cf
--no-merges --oneline
e5ec3cf Dart SDK roll for 2019-01-08
08c95d2 Roll src/third_party/skia 55ff5d3ba881..1337f5b85978 (10
commits) (flutter/engine#7407)
e385f5c Roll src/third_party/skia 26d173fee72b..55ff5d3ba881 (12
commits) (flutter/engine#7406)
0f8273b Dart SDK roll for 2019-01-07
4036b26 Reset ParagraphBuilder after build() (flutter/engine#7401)
4820cbe Dart SDK roll for 2019-01-07
8eccb86 Add onStart hook to FlutterFragmentActivity
(flutter/engine#6719)
f2ea838 Roll src/third_party/skia b2fdcbf3033f..26d173fee72b (10
commits) (flutter/engine#7400)
5ca8aad Announce in/out of list (flutter/engine#6918)
4487d39 Replace Java code with equivalent, more concise code.
(flutter/engine#7398)
395b785 Roll src/third_party/skia 46ee3f7a8ff5..b2fdcbf3033f (11
commits) (flutter/engine#7394)
5965f90 Make `ParagraphConstraints` have const constructor
(flutter/engine#7346)
e02dd41 Roll src/third_party/skia a47eb455360f..46ee3f7a8ff5 (2
commits) (flutter/engine#7390)
f0038b3 Roll src/third_party/skia 3ac3a4053f86..a47eb455360f (2
commits) (flutter/engine#7389)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jan 8, 2019
bkonyi added a commit to flutter/flutter that referenced this pull request Jan 9, 2019
flutter/engine@7112b72...e5ec3cf

git log
7112b72..e5ec3cf
--no-merges --oneline
e5ec3cf Dart SDK roll for 2019-01-08
08c95d2 Roll src/third_party/skia 55ff5d3ba881..1337f5b85978 (10
commits) (flutter/engine#7407)
e385f5c Roll src/third_party/skia 26d173fee72b..55ff5d3ba881 (12
commits) (flutter/engine#7406)
0f8273b Dart SDK roll for 2019-01-07
4036b26 Reset ParagraphBuilder after build() (flutter/engine#7401)
4820cbe Dart SDK roll for 2019-01-07
8eccb86 Add onStart hook to FlutterFragmentActivity
(flutter/engine#6719)
f2ea838 Roll src/third_party/skia b2fdcbf3033f..26d173fee72b (10
commits) (flutter/engine#7400)
5ca8aad Announce in/out of list (flutter/engine#6918)
4487d39 Replace Java code with equivalent, more concise code.
(flutter/engine#7398)
395b785 Roll src/third_party/skia 46ee3f7a8ff5..b2fdcbf3033f (11
commits) (flutter/engine#7394)
5965f90 Make `ParagraphConstraints` have const constructor
(flutter/engine#7346)
e02dd41 Roll src/third_party/skia a47eb455360f..46ee3f7a8ff5 (2
commits) (flutter/engine#7390)
f0038b3 Roll src/third_party/skia 3ac3a4053f86..a47eb455360f (2
commits) (flutter/engine#7389)
gamebox pushed a commit to gamebox/flutter that referenced this pull request Jan 28, 2019
flutter/engine@7112b72...e5ec3cf

git log
7112b72..e5ec3cf
--no-merges --oneline
e5ec3cf Dart SDK roll for 2019-01-08
08c95d2 Roll src/third_party/skia 55ff5d3ba881..1337f5b85978 (10
commits) (flutter/engine#7407)
e385f5c Roll src/third_party/skia 26d173fee72b..55ff5d3ba881 (12
commits) (flutter/engine#7406)
0f8273b Dart SDK roll for 2019-01-07
4036b26 Reset ParagraphBuilder after build() (flutter/engine#7401)
4820cbe Dart SDK roll for 2019-01-07
8eccb86 Add onStart hook to FlutterFragmentActivity
(flutter/engine#6719)
f2ea838 Roll src/third_party/skia b2fdcbf3033f..26d173fee72b (10
commits) (flutter/engine#7400)
5ca8aad Announce in/out of list (flutter/engine#6918)
4487d39 Replace Java code with equivalent, more concise code.
(flutter/engine#7398)
395b785 Roll src/third_party/skia 46ee3f7a8ff5..b2fdcbf3033f (11
commits) (flutter/engine#7394)
5965f90 Make `ParagraphConstraints` have const constructor
(flutter/engine#7346)
e02dd41 Roll src/third_party/skia a47eb455360f..46ee3f7a8ff5 (2
commits) (flutter/engine#7390)
f0038b3 Roll src/third_party/skia 3ac3a4053f86..a47eb455360f (2
commits) (flutter/engine#7389)
kangwang1988 pushed a commit to XianyuTech/flutter that referenced this pull request Feb 12, 2019
flutter/engine@7112b72...e5ec3cf

git log
7112b72..e5ec3cf
--no-merges --oneline
e5ec3cf Dart SDK roll for 2019-01-08
08c95d2 Roll src/third_party/skia 55ff5d3ba881..1337f5b85978 (10
commits) (flutter/engine#7407)
e385f5c Roll src/third_party/skia 26d173fee72b..55ff5d3ba881 (12
commits) (flutter/engine#7406)
0f8273b Dart SDK roll for 2019-01-07
4036b26 Reset ParagraphBuilder after build() (flutter/engine#7401)
4820cbe Dart SDK roll for 2019-01-07
8eccb86 Add onStart hook to FlutterFragmentActivity
(flutter/engine#6719)
f2ea838 Roll src/third_party/skia b2fdcbf3033f..26d173fee72b (10
commits) (flutter/engine#7400)
5ca8aad Announce in/out of list (flutter/engine#6918)
4487d39 Replace Java code with equivalent, more concise code.
(flutter/engine#7398)
395b785 Roll src/third_party/skia 46ee3f7a8ff5..b2fdcbf3033f (11
commits) (flutter/engine#7394)
5965f90 Make `ParagraphConstraints` have const constructor
(flutter/engine#7346)
e02dd41 Roll src/third_party/skia a47eb455360f..46ee3f7a8ff5 (2
commits) (flutter/engine#7390)
f0038b3 Roll src/third_party/skia 3ac3a4053f86..a47eb455360f (2
commits) (flutter/engine#7389)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants