summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsborderimage.cpp1
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsimagebase.cpp2
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsitem.cpp3
-rw-r--r--src/declarative/util/qmlanimation_p_p.h16
-rw-r--r--src/declarative/util/qmlpixmapcache.cpp70
-rw-r--r--src/declarative/util/qmltransition.cpp7
7 files changed, 51 insertions, 50 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
index 1964ee4..01c3e37 100644
--- a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp
@@ -71,7 +71,6 @@ QML_DEFINE_TYPE(Qt,4,6,BorderImage,QmlGraphicsBorderImage)
QmlGraphicsBorderImage::QmlGraphicsBorderImage(QmlGraphicsItem *parent)
: QmlGraphicsImageBase(*(new QmlGraphicsBorderImagePrivate), parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsBorderImage::~QmlGraphicsBorderImage()
diff --git a/src/declarative/graphicsitems/qmlgraphicsimage.cpp b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
index 38df0c7..a777de7 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimage.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsimage.cpp
@@ -128,13 +128,11 @@ QML_DEFINE_TYPE(Qt,4,6,Image,QmlGraphicsImage)
QmlGraphicsImage::QmlGraphicsImage(QmlGraphicsItem *parent)
: QmlGraphicsImageBase(*(new QmlGraphicsImagePrivate), parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImage::QmlGraphicsImage(QmlGraphicsImagePrivate &dd, QmlGraphicsItem *parent)
: QmlGraphicsImageBase(dd, parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImage::~QmlGraphicsImage()
diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp b/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
index b7ed7b6..70ca59c 100644
--- a/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsimagebase.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
QmlGraphicsImageBase::QmlGraphicsImageBase(QmlGraphicsImageBasePrivate &dd, QmlGraphicsItem *parent)
: QmlGraphicsItem(dd, parent)
{
- setFlag(QGraphicsItem::ItemHasNoContents, true);
+ setFlag(QGraphicsItem::ItemHasNoContents, false);
}
QmlGraphicsImageBase::~QmlGraphicsImageBase()
diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
index 1b2861d..68a565d 100644
--- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp
@@ -1491,6 +1491,7 @@ QmlGraphicsItem::~QmlGraphicsItem()
d->dependantAnchors.clear();
delete d->_anchorLines; d->_anchorLines = 0;
delete d->_anchors; d->_anchors = 0;
+ delete d->_stateGroup; d->_stateGroup = 0;
}
/*!
@@ -2620,7 +2621,7 @@ QmlStateGroup *QmlGraphicsItemPrivate::states()
{
Q_Q(QmlGraphicsItem);
if (!_stateGroup) {
- _stateGroup = new QmlStateGroup(q);
+ _stateGroup = new QmlStateGroup;
if (!_componentComplete)
_stateGroup->classBegin();
QObject::connect(_stateGroup, SIGNAL(stateChanged(QString)),
diff --git a/src/declarative/util/qmlanimation_p_p.h b/src/declarative/util/qmlanimation_p_p.h
index 5dac59a..0b65c27 100644
--- a/src/declarative/util/qmlanimation_p_p.h
+++ b/src/declarative/util/qmlanimation_p_p.h
@@ -205,14 +205,14 @@ public:
connectedTimeLine(false), componentComplete(true), startOnCompletion(false),
target(0), group(0) {}
- bool running;
- bool paused;
- bool alwaysRunToEnd;
- bool repeat;
- bool connectedTimeLine;
-
- bool componentComplete;
- bool startOnCompletion;
+ bool running:1;
+ bool paused:1;
+ bool alwaysRunToEnd:1;
+ bool repeat:1;
+ bool connectedTimeLine:1;
+
+ bool componentComplete:1;
+ bool startOnCompletion:1;
void commence();
diff --git a/src/declarative/util/qmlpixmapcache.cpp b/src/declarative/util/qmlpixmapcache.cpp
index 29720d8..16e3dc8 100644
--- a/src/declarative/util/qmlpixmapcache.cpp
+++ b/src/declarative/util/qmlpixmapcache.cpp
@@ -150,59 +150,62 @@ bool QmlPixmapCache::find(const QUrl& url, QPixmap *pixmap)
QmlPerfTimer<QmlPerf::PixmapLoad> perf;
#endif
- QString key = url.toString();
bool ok = true;
- if (!QPixmapCache::find(key,pixmap)) {
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- QString lf = toLocalFileOrQrc(url);
- if (!lf.isEmpty()) {
+ QString lf = toLocalFileOrQrc(url);
+ if (!lf.isEmpty()) {
+ if (!QPixmapCache::find(lf,pixmap)) {
QFile f(lf);
if (f.open(QIODevice::ReadOnly)) {
if (!readImage(&f, pixmap)) {
qWarning() << "Format error loading" << url;
*pixmap = QPixmap();
ok = false;
+ } else {
+ QPixmapCache::insert(lf, *pixmap);
+ ok = !pixmap->isNull();
}
} else {
*pixmap = QPixmap();
ok = false;
}
- } else
+ } else {
+ ok = !pixmap->isNull();
+ }
+ return ok;
+ }
#endif
- {
- QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
- if (iter == qfxActiveNetworkReplies.end()) {
- // API usage error
- qWarning() << "QmlPixmapCache: URL not loaded" << url;
+
+ QString key = url.toString();
+ if (!QPixmapCache::find(key,pixmap)) {
+ QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
+ if (iter == qfxActiveNetworkReplies.end()) {
+ // API usage error
+ qWarning() << "QmlPixmapCache: URL not loaded" << url;
+ ok = false;
+ } else {
+ if ((*iter)->reply->error()) {
+ qWarning() << "Network error loading" << url << (*iter)->reply->errorString();
+ *pixmap = QPixmap();
+ ok = false;
+ } else if (!readImage((*iter)->reply, pixmap)) {
+ qWarning() << "Format error loading" << url;
+ *pixmap = QPixmap();
ok = false;
} else {
- if ((*iter)->reply->error()) {
- qWarning() << "Network error loading" << url << (*iter)->reply->errorString();
- *pixmap = QPixmap();
- ok = false;
- } else if (!readImage((*iter)->reply, pixmap)) {
- qWarning() << "Format error loading" << url;
- *pixmap = QPixmap();
- ok = false;
- } else {
- if ((*iter)->refCount > 1)
- (*iter)->pixmap = *pixmap;
- }
- (*iter)->release();
+ if ((*iter)->refCount > 1)
+ (*iter)->pixmap = *pixmap;
}
+ (*iter)->release();
}
QPixmapCache::insert(key, *pixmap);
} else {
ok = !pixmap->isNull();
-#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
- if (url.scheme()!=QLatin1String("file"))
-#endif
+
// We may be the second finder. Still need to check for active replies.
- {
- QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
- if (iter != qfxActiveNetworkReplies.end())
- (*iter)->release();
- }
+ QmlGraphicsSharedNetworkReplyHash::Iterator iter = qfxActiveNetworkReplies.find(key);
+ if (iter != qfxActiveNetworkReplies.end())
+ (*iter)->release();
}
return ok;
}
@@ -226,8 +229,7 @@ QNetworkReply *QmlPixmapCache::get(QmlEngine *engine, const QUrl& url, QPixmap *
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
QString lf = toLocalFileOrQrc(url);
if (!lf.isEmpty()) {
- QString key = url.toString();
- if (!QPixmapCache::find(key,pixmap)) {
+ if (!QPixmapCache::find(lf,pixmap)) {
bool loaded = true;
QFile f(lf);
if (f.open(QIODevice::ReadOnly)) {
@@ -242,7 +244,7 @@ QNetworkReply *QmlPixmapCache::get(QmlEngine *engine, const QUrl& url, QPixmap *
loaded = false;
}
if (loaded)
- QPixmapCache::insert(key, *pixmap);
+ QPixmapCache::insert(lf, *pixmap);
if (ok) *ok = loaded;
}
return 0;
diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp
index a9c9596..ec92cf9 100644
--- a/src/declarative/util/qmltransition.cpp
+++ b/src/declarative/util/qmltransition.cpp
@@ -72,7 +72,7 @@ class ParallelAnimationWrapper : public QParallelAnimationGroup
{
Q_OBJECT
public:
- ParallelAnimationWrapper(QObject *parent) : QParallelAnimationGroup(parent) {}
+ ParallelAnimationWrapper(QObject *parent = 0) : QParallelAnimationGroup(parent) {}
QmlTransitionPrivate *trans;
protected:
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
@@ -97,8 +97,7 @@ public:
void init()
{
- Q_Q(QmlTransition);
- group = new ParallelAnimationWrapper(q);
+ group = new ParallelAnimationWrapper;
group->trans = this;
}
@@ -147,6 +146,8 @@ QmlTransition::QmlTransition(QObject *parent)
QmlTransition::~QmlTransition()
{
+ Q_D(QmlTransition);
+ delete d->group;
}
void QmlTransition::stop()