aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickrectangle.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-02-18 09:58:57 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-02-18 09:58:57 +0100
commitba9ca0e3d64c46fc63cdbc62f3e4a96e36a842f8 (patch)
treef9631624c841281302a2a546fbcc06a2375f410e /src/quick/items/qquickrectangle.cpp
parenta65b8785621ebf58f34eb0c1759376fc0a1117c7 (diff)
parent464bd2bf975797241213191a374e70431c5c3763 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: src/qml/jsruntime/qv4functionobject.cpp src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h Change-Id: Id164f6c3b45501aa466908659ec4e3b957323753
Diffstat (limited to 'src/quick/items/qquickrectangle.cpp')
-rw-r--r--src/quick/items/qquickrectangle.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp
index ee1b66f2b5..8d9f6b9d4a 100644
--- a/src/quick/items/qquickrectangle.cpp
+++ b/src/quick/items/qquickrectangle.cpp
@@ -255,6 +255,18 @@ QQmlListProperty<QQuickGradientStop> QQuickGradient::stops()
return QQmlListProperty<QQuickGradientStop>(this, m_stops);
}
+QGradientStops QQuickGradient::gradientStops() const
+{
+ QGradientStops stops;
+ for (int i = 0; i < m_stops.size(); ++i){
+ int j = 0;
+ while (j < stops.size() && stops.at(j).first < m_stops[i]->position())
+ j++;
+ stops.insert(j, QGradientStop(m_stops.at(i)->position(), m_stops.at(i)->color()));
+ }
+ return stops;
+}
+
void QQuickGradient::doUpdate()
{
emit updated();
@@ -492,13 +504,7 @@ QSGNode *QQuickRectangle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
QGradientStops stops;
if (d->gradient) {
- QList<QQuickGradientStop *> qxstops = d->gradient->m_stops;
- for (int i = 0; i < qxstops.size(); ++i){
- int j = 0;
- while (j < stops.size() && stops.at(j).first < qxstops[i]->position())
- j++;
- stops.insert(j, QGradientStop(qxstops.at(i)->position(), qxstops.at(i)->color()));
- }
+ stops = d->gradient->gradientStops();
}
rectangle->setGradientStops(stops);