aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-10-23 15:19:09 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-10-23 19:43:32 +0000
commit4d452d5dff2d12a9a44277798f2a70902a3d1891 (patch)
tree3055096e4ac3268ca357f9b9407d9433ccc85f1a /src/quickcontrols2
parente04b7c4b7ba2808215825de23cd6d6606cb9102f (diff)
QQuickIconImage: fix crash with image providers
QQuickImageBase::load() cannot call until the component creation is completed, because it requires an associated QML engine. All calls to updateIcon() are guarded with the appropriate isComponentComplete() check, but the sourceSizeChanged() signal was connected directly to updateIcon(). Establish the signal-slot connection at component completion to avoid calling updateIcon() to soon. Task-number: QTBUG-63959 Change-Id: I3c935291796dbae031d2728e1d51c55596a51cd0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickcontrols2')
-rw-r--r--src/quickcontrols2/qquickiconimage.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/quickcontrols2/qquickiconimage.cpp b/src/quickcontrols2/qquickiconimage.cpp
index c628c7ae..885bc7f9 100644
--- a/src/quickcontrols2/qquickiconimage.cpp
+++ b/src/quickcontrols2/qquickiconimage.cpp
@@ -125,9 +125,7 @@ qreal QQuickIconImagePrivate::calculateDevicePixelRatio() const
QQuickIconImage::QQuickIconImage(QQuickItem *parent)
: QQuickImage(*(new QQuickIconImagePrivate), parent)
{
- Q_D(QQuickIconImage);
setFillMode(Pad);
- QObjectPrivate::connect(this, &QQuickImageBase::sourceSizeChanged, d, &QQuickIconImagePrivate::updateIcon);
}
QString QQuickIconImage::name() const
@@ -183,6 +181,7 @@ void QQuickIconImage::componentComplete()
Q_D(QQuickIconImage);
QQuickImage::componentComplete();
d->updateIcon();
+ QObjectPrivate::connect(this, &QQuickImageBase::sourceSizeChanged, d, &QQuickIconImagePrivate::updateIcon);
}
void QQuickIconImage::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)