diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2019-09-11 21:54:53 +0300 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2019-09-19 11:36:26 +0000 |
commit | 6815f353e5a73c0dcf39fbfc91c6a2c1b0784324 (patch) | |
tree | 27681102f10ef27f0cb96ca4e39f026d1a0e6f87 /src/imports/controls/imagine/ScrollIndicator.qml | |
parent | a89c3bc67ea6c76bfc89d64f235ebf5cb4b0fca4 (diff) |
TextArea: prevent changing size of background recursively
When the x/y position of background depends on the height/width of
background and these values are not constant, the if statement in
the method resizeBackground() will always pass. And since
`resizingBackground` guard wasn't checked, any geometry change
will always call resizeBackground() and then call
themself recursively (via the change listener),
that means the height/width of background will
always be reset, no matter what value you set.
Another part of the issue was in determining the extra bits too late:
in case the background gets parented by the flickable, the new child
caused the flickable to re-calculate its metrics and thus resize
the background *prior* to remembering if it has w/h set.
As a side effect, this fix also brings the possibility to reset
previously set w/h to get the default background sizing behavior.
Inspired by da06da57002b64cf4bcde0ca708b3275a5f919ae
[ChangeLog][QtQuick][QQuickTextArea] prevent changing size
of background recursively in construction
Fixes: QTBUG-76369
Change-Id: Ide51ec1ebab63605ae3bfcc10a76a28be960ef36
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/imagine/ScrollIndicator.qml')
0 files changed, 0 insertions, 0 deletions