You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Weird frozen composition bug with Scaffold, HorizontalPager and text field (basic or material).
Input doesn't work, content inside pager is unresponsive until external recomposition occurred.
Happens only when pagerState.targetPage is read from some drawing context inside topBar or bottomBar
FixesJetBrains/compose-multiplatform#4681
The issue was because of this situation:
- the parent RenderNodeLayer is drawn and cached it's `picture`
- the child RenderNodeLayer isn't drawn, but `invalidate` is called
the child's `invalidate` should invalidate parent layer unconditionally, but we called it only if the child was drawn (picture != null), which is incorrect.
It is a regression after #1260, but it just revealed the bug, not introduced it.
## Testing
- new added tests fail before, work after the fix
- the issue is no longer reproducible
This should be tested by QA
## Release Notes
> Fixes - Multiple Platforms
- _(prerelease fix)_ Fix frozen composition with pager and text field
FixesJetBrains/compose-multiplatform#4681
The issue was because of this situation:
- the parent RenderNodeLayer is drawn and cached it's `picture`
- the child RenderNodeLayer isn't drawn, but `invalidate` is called
`invalidate` should have updated the parent layer (removing the
`picture` cache), but didn't do that as we do that conditionally. Now
`invalidate` invalidates the parent layer unconditionally.
It is a regression after
#1260, but
it just revealed the bug, didn't introduce it.
## Testing
- new added tests fail before, work after the fix
- the issue is no longer reproducible
This should be tested by QA
## Release Notes
> Fixes - Multiple Platforms
- _(prerelease fix)_ Fix frozen composition with pager and text field
Describe the bug
Weird frozen composition bug with
Scaffold
,HorizontalPager
and text field (basic or material).Input doesn't work, content inside pager is unresponsive until external recomposition occurred.
Happens only when
pagerState.targetPage
is read from some drawing context inside topBar or bottomBarWorks fine in
1.6.10-dev1575
. Doesn't work starting from1.6.10-dev1578
Possibly related: JetBrains/compose-multiplatform-core#1260
Affected platforms
Skiko backed
Versions
1.6.10-dev1578
To Reproduce
The text was updated successfully, but these errors were encountered: