aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemviewfxitem_p_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Export QQuickItemViewFxItem privatelyv5.15.0Shawn Rutledge2020-05-111-1/+1
| | | | | | | | | | We need it for release builds of the new TreeView (for most subclasses of QQuickTableViewPrivate actually). Task-number: QTBUG-61630 Change-Id: I35c52ef1336ecc2cdfafa8fba473890ce2cff2ba Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-191-0/+2
|\ | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/imports/sharedimage/qsharedimageloader.cpp src/quick/items/qquickitemviewfxitem_p_p.h Change-Id: I12ce7c32788f4a394188a934e689b4ebac78138b
| * Fix crash caused by objects self-destructions during displacement animationsYulong Bai2019-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The root cause was that the QAbstractAnimationJob::finished() might delegate its destruction to change.listener->animationFinished(this), and the original author was aware of that and provided a RETURN_IF_DELETE macro to return early if itself got deleted. In the bug's case, change.listener->animationFinished(this) dispatched to QQuickItemViewPrivate::animationFinished() which called QQuickItemViewPrivate::release() and deleted the QAbstractAnimationJob object itself in the end. However, any objects derived from QAbstractAnimationJob, or holding a pointer to a QAbstractAnimationJob, may potentially fall into the code path calling QAbstractAnimationJob::finished(). Any QAnimationJobChangeListener that directly or indirectly deletes QAbstractAnimationJob should be very suspicious to this kind of "heap-use-after-free" bug. Should ensure that the QAbstractAnimationJob won't be referenced after deletion. In the bug's case, within the code path triggered by ListView displacement animation, the other affected classes by QAbstractAnimationJob are: QQuickItemViewFxItem, QQuickItemViewTransitionableItem, QQuickTransitionManager. To fix this, a new SelfDeletable class is factored out to simplify the self-deletion test logic. Any affected classes are made to have a public member m_selfDeletable. Any code paths that finally reach QAbstractAnimationJob::finished() are wrapped with related util macro. Change-Id: Idd33fc3f2d529fd7d8bb088c329101b1e70dd6c0 Task-number: QTBUG-44308 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Compact QQuickItemViewFxItemErik Verbruggen2018-08-211-4/+4
|/ | | | | | | This also removes padding, esp. on 64bit architectures. Change-Id: I500bbe6bd64eb1717db719fbd6ce823314687ea6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQuickItemViewFxItem: init indexRichard Moe Gustavsen2018-04-231-1/+1
| | | | | Change-Id: Idca9285715e10e6306eb155dcd39a36b4e847797 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickItemViewFxItem: factor out FxViewItem from QQuickItemViewRichard Moe Gustavsen2018-03-231-0/+108
FxItemViews wraps the QQuickItems used in QQuickItemView with additional item view information, like transition status. This patch will factor out FxItemView so that it can be reused in the coming QQuickTable as well. Change-Id: I5544b177d0ff28b2cbb76f33343808d953ec47bd Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>