diff --git a/src/declarative/items/context2d/qsgcontext2d.cpp b/src/declarative/items/context2d/qsgcontext2d.cpp
index e98c6147540e8599e05d386b0964cc2d20b9f089..205809861b5febbbcaf364672b251b7294cc5c3e 100644
--- a/src/declarative/items/context2d/qsgcontext2d.cpp
+++ b/src/declarative/items/context2d/qsgcontext2d.cpp
@@ -332,9 +332,8 @@ public:
     v8::Persistent<v8::Function> constructorPixelArray;
     v8::Persistent<v8::Function> constructorImageData;
 };
-V8_DEFINE_EXTENSION(QSGContext2DEngineData, engineData);
-
 
+V8_DEFINE_EXTENSION(QSGContext2DEngineData, engineData)
 
 class QV8Context2DResource : public QV8ObjectResource
 {
@@ -2639,7 +2638,6 @@ v8::Handle<v8::Value> ctx2d_pixelArray_indexed_set(uint32_t index, v8::Local<v8:
     const int v = value->Uint32Value();
     if (r && index > 0 && index < r->image.width() * r->image.height() * 4 && v > 0 && v <= 255) {
         const int w = r->image.width();
-        const int h = r->image.height();
         const int row = (index / 4) / w;
         const int col = (index / 4) % w;
 
@@ -3082,14 +3080,14 @@ int baseLineOffset(QSGContext2D::TextBaseLineType value, const QFontMetrics &met
 {
     int offset = 0;
     switch (value) {
-    case QSGContext2D::QSGContext2D::Top:
+    case QSGContext2D::Top:
         break;
-    case QSGContext2D::QSGContext2D::Alphabetic:
-    case QSGContext2D::QSGContext2D::Middle:
-    case QSGContext2D::QSGContext2D::Hanging:
+    case QSGContext2D::Alphabetic:
+    case QSGContext2D::Middle:
+    case QSGContext2D::Hanging:
         offset = metrics.ascent();
         break;
-    case QSGContext2D::QSGContext2D::Bottom:
+    case QSGContext2D::Bottom:
         offset = metrics.height();
        break;
     }
@@ -3104,12 +3102,12 @@ static int textAlignOffset(QSGContext2D::TextAlignType value, const QFontMetrics
     else if (value == QSGContext2D::End)
         value = QGuiApplication::layoutDirection() == Qt::LeftToRight ? QSGContext2D::Right: QSGContext2D::Left;
     switch (value) {
-    case QSGContext2D::QSGContext2D::Center:
+    case QSGContext2D::Center:
         offset = metrics.width(text)/2;
         break;
-    case QSGContext2D::QSGContext2D::Right:
+    case QSGContext2D::Right:
         offset = metrics.width(text);
-    case QSGContext2D::QSGContext2D::Left:
+    case QSGContext2D::Left:
     default:
         break;
     }
diff --git a/src/declarative/items/context2d/qsgcontext2dtexture.cpp b/src/declarative/items/context2d/qsgcontext2dtexture.cpp
index 4833c1301ca06781cf31c6a57cdde4b095619995..3f7692c0badab49622729ac6bc864574c4a22291 100644
--- a/src/declarative/items/context2d/qsgcontext2dtexture.cpp
+++ b/src/declarative/items/context2d/qsgcontext2dtexture.cpp
@@ -155,7 +155,9 @@ bool QSGContext2DTexture::setCanvasWindow(const QRect& r)
 {
     if (m_canvasWindow != r) {
         m_canvasWindow = r;
+        return true;
     }
+    return false;
 }
 
 bool QSGContext2DTexture::setDirtyRect(const QRect &r)
diff --git a/src/declarative/items/context2d/qsgcontext2dtexture_p.h b/src/declarative/items/context2d/qsgcontext2dtexture_p.h
index 0fb315497a0866d31ef25eb17f46416b2ea5de67..c91d3fb2ba59e0049ce71ba178a0e7970e637373 100644
--- a/src/declarative/items/context2d/qsgcontext2dtexture_p.h
+++ b/src/declarative/items/context2d/qsgcontext2dtexture_p.h
@@ -100,7 +100,7 @@ public Q_SLOTS:
 
 protected:
     void paintWithoutTiles();
-    virtual QPaintDevice* beginPainting() {m_painting = true;}
+    virtual QPaintDevice* beginPainting() {m_painting = true; return 0; }
     virtual void endPainting() {m_painting = false;}
     virtual QSGContext2DTile* createTile() const = 0;
     virtual void compositeTile(QSGContext2DTile* tile) = 0;
diff --git a/src/declarative/particles/qsgparticlegroup_p.h b/src/declarative/particles/qsgparticlegroup_p.h
index d0ac41ca79b2ba51b28e4ce5c639d1c90108d7bc..a809b63e8a74430fc3073214ad2590e740f0f2c5 100644
--- a/src/declarative/particles/qsgparticlegroup_p.h
+++ b/src/declarative/particles/qsgparticlegroup_p.h
@@ -57,6 +57,7 @@ class QSGParticleGroup : public QSGStochasticState, public QDeclarativeParserSta
     //Intercept children requests and assign to the group & system
     Q_PROPERTY(QDeclarativeListProperty<QObject> particleChildren READ particleChildren DESIGNABLE false)//### Hidden property for in-state system definitions - ought not to be used in actual "Sprite" states
     Q_CLASSINFO("DefaultProperty", "particleChildren")
+    Q_INTERFACES(QDeclarativeParserStatus)
 
 public:
     explicit QSGParticleGroup(QObject* parent = 0);
diff --git a/src/declarative/particles/qsgparticlepainter.cpp b/src/declarative/particles/qsgparticlepainter.cpp
index 53f2421b9ccc1e0f82eba28903a9dc4affb9e104..fe689ee4f7c2644ce3ac799580c13037d5310a48 100644
--- a/src/declarative/particles/qsgparticlepainter.cpp
+++ b/src/declarative/particles/qsgparticlepainter.cpp
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
 */
 QSGParticlePainter::QSGParticlePainter(QSGItem *parent) :
     QSGItem(parent),
-    m_system(0), m_count(0), m_sentinel(new QSGParticleData(0)), m_pleaseReset(true)
+    m_system(0), m_count(0), m_pleaseReset(true), m_sentinel(new QSGParticleData(0))
 {
 }