diff options
author | Liang Qi <liang.qi@qt.io> | 2017-11-15 09:11:24 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-11-15 09:11:25 +0100 |
commit | 984ba6977201f8fbd94d44a2b67519e1faf458cc (patch) | |
tree | 4ee9af0e9014240ecd9c25079fbdfcbdcda7a4f9 /src/svg/qsvggraphics.cpp | |
parent | f1ba95141c54b452edd737e9adb3461f303eb850 (diff) | |
parent | 18a2adad907523ea31251ff0b62e3321241a40fa (diff) | |
download | qtsvg-5.10.0.tar.gz |
Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-rc3v5.10.0-rc2v5.10.0-rc1v5.10.05.10.0
Change-Id: I2c5f1f592e2141b93fa274124a96f2a63b83acdb
Diffstat (limited to 'src/svg/qsvggraphics.cpp')
-rw-r--r-- | src/svg/qsvggraphics.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/svg/qsvggraphics.cpp b/src/svg/qsvggraphics.cpp index b1047eb..5b273af 100644 --- a/src/svg/qsvggraphics.cpp +++ b/src/svg/qsvggraphics.cpp @@ -465,6 +465,9 @@ QSvgUse::QSvgUse(const QPointF &start, QSvgNode *parent, QSvgNode *node) void QSvgUse::draw(QPainter *p, QSvgExtraStates &states) { + if (Q_UNLIKELY(!m_link || isDescendantOf(m_link))) + return; + applyStyle(p, states); if (!m_start.isNull()) { @@ -553,7 +556,7 @@ QSvgNode::Type QSvgVideo::type() const QRectF QSvgUse::bounds(QPainter *p, QSvgExtraStates &states) const { QRectF bounds; - if (m_link) { + if (Q_LIKELY(m_link && !isDescendantOf(m_link))) { p->translate(m_start); bounds = m_link->transformedBounds(p, states); p->translate(-m_start); |