diff --git a/examples/canvas3d/texturedcube/qml/texturedcube/texturedcube.js b/examples/canvas3d/texturedcube/qml/texturedcube/texturedcube.js
index 6df51a8845d9d180abbcbff11a5d863071404033..559f8656c7dbf1151937f722de330014921a540c 100644
--- a/examples/canvas3d/texturedcube/qml/texturedcube/texturedcube.js
+++ b/examples/canvas3d/texturedcube/qml/texturedcube/texturedcube.js
@@ -45,7 +45,8 @@ function initGL(canvas, textureLoader) {
     gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
 
     // Set the viewport
-    gl.viewport(0, 0, canvas.width, canvas.height);
+    var pixelRatio = canvas.devicePixelRatio;
+    gl.viewport(0, 0, pixelRatio * canvas.width, pixelRatio * canvas.height);
 
     // Initialize the shader program
     initShaders();
@@ -114,6 +115,7 @@ function renderGL(canvas) {
     mat4.rotate(mvMatrix, mvMatrix, degToRad(canvas.xRotAnim), [1, 0, 0]);
     mat4.rotate(mvMatrix, mvMatrix, degToRad(canvas.yRotAnim), [0, 1, 0]);
     mat4.rotate(mvMatrix, mvMatrix, degToRad(canvas.zRotAnim), [0, 0, 1]);
+
     // Set the matrix to shader
     gl.uniformMatrix4fva(mvMatrixUniform, false, mvMatrix);
 
diff --git a/src/abstractobject3d.cpp b/src/abstractobject3d.cpp
index abf3dda98cc51da8d9e791266dde195ea679b267..0f432d253f9f5b8715d4c24b36ce0655eedaf4c7 100644
--- a/src/abstractobject3d.cpp
+++ b/src/abstractobject3d.cpp
@@ -37,26 +37,19 @@
 #include "abstractobject3d_p.h"
 
 CanvasAbstractObject::CanvasAbstractObject(QObject *parent) :
-    QObject(parent)
+    QQmlPropertyMap(parent)
 {
-    m_name = QString("0x%1").arg((long long) this, 0, 16);
+    insert("name", QVariant::fromValue(QString("0x%1").arg((long long) this, 0, 16)));
 }
 
 CanvasAbstractObject::~CanvasAbstractObject()
 {
 }
 
-void CanvasAbstractObject::setName(const QString &name)
+QString CanvasAbstractObject::name() const
 {
-    if (m_name == name)
-        return;
+    if (!contains("name"))
+        return "";
 
-    m_name = name;
-
-    emit nameChanged(m_name);
-}
-
-const QString &CanvasAbstractObject::name()
-{
-    return m_name;
+    return value("name").toString();
 }
diff --git a/src/abstractobject3d_p.h b/src/abstractobject3d_p.h
index 05cde245bc5c123e9c946b996092b0c132a5989e..c223b54ad7f3cf08e6d135e8953f592ce091e555 100644
--- a/src/abstractobject3d_p.h
+++ b/src/abstractobject3d_p.h
@@ -48,25 +48,18 @@
 #define ABSTRACTOBJECT3D_P_H
 
 #include <QObject>
+#include <QQmlPropertyMap>
 #include <QThread>
 
-class CanvasAbstractObject : public QObject
+class CanvasAbstractObject : public QQmlPropertyMap
 {
     Q_OBJECT
-    Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
 
 public:
     explicit CanvasAbstractObject(QObject *parent = 0);
     virtual ~CanvasAbstractObject();
 
-    void setName(const QString &name);
-    const QString &name();
-
-signals:
-    void nameChanged(const QString &name);
-
-protected:
-    QString m_name;
+    QString name() const;
 };
 
 #endif // ABSTRACTOBJECT3D_P_H
diff --git a/src/activeinfo3d.cpp b/src/activeinfo3d.cpp
index be7658096019f40dfca9f4839d7800f68162d4cb..6df460c2ae54e287335ceb1cedc7d039f4d94cb5 100644
--- a/src/activeinfo3d.cpp
+++ b/src/activeinfo3d.cpp
@@ -52,7 +52,7 @@
 
 CanvasActiveInfo::CanvasActiveInfo(int size, CanvasContext::glEnums type,
                                    QString name, QObject *parent) :
-    QObject(parent),
+    CanvasAbstractObject(parent),
     m_size(size),
     m_type(type),
     m_name(name)
@@ -66,7 +66,7 @@ CanvasActiveInfo::CanvasActiveInfo(int size, CanvasContext::glEnums type,
 /*!
  * \internal
  */
-int CanvasActiveInfo::size() const
+int CanvasActiveInfo::infoSize() const
 {
     return m_size;
 }
@@ -78,7 +78,7 @@ int CanvasActiveInfo::size() const
 /*!
  * \internal
  */
-CanvasContext::glEnums CanvasActiveInfo::type() const
+CanvasContext::glEnums CanvasActiveInfo::infoType() const
 {
     return m_type;
 }
@@ -90,7 +90,7 @@ CanvasContext::glEnums CanvasActiveInfo::type() const
 /*!
  * \internal
  */
-QString CanvasActiveInfo::name() const
+QString CanvasActiveInfo::infoName() const
 {
     return m_name;
 }
diff --git a/src/activeinfo3d_p.h b/src/activeinfo3d_p.h
index 40cd1ed7dd537708dbbb700e97c961334785b948..13a1ba2a031d20f15fd71beb7deda191c9cc141a 100644
--- a/src/activeinfo3d_p.h
+++ b/src/activeinfo3d_p.h
@@ -47,29 +47,29 @@
 #ifndef CANVASACTIVEINFO_P_H
 #define CANVASACTIVEINFO_P_H
 
-#include <QObject>
+#include "abstractobject3d_p.h"
 #include "context3d_p.h"
 
-class CanvasActiveInfo : public QObject
+class CanvasActiveInfo : public CanvasAbstractObject
 {
     Q_OBJECT
 
-    Q_PROPERTY(int size READ size NOTIFY sizeChanged)
-    Q_PROPERTY(CanvasContext::glEnums type READ type NOTIFY typeChanged)
-    Q_PROPERTY(QString name READ name NOTIFY nameChanged)
+    Q_PROPERTY(int size READ infoSize NOTIFY infoSizeChanged)
+    Q_PROPERTY(CanvasContext::glEnums type READ infoType NOTIFY infoTypeChanged)
+    Q_PROPERTY(QString name READ infoName NOTIFY infoNameChanged)
 
 public:
     explicit CanvasActiveInfo(int size, CanvasContext::glEnums type,
                               QString name, QObject *parent = 0);
 
-    int size() const;
-    CanvasContext::glEnums type() const;
-    QString name() const;
+    int infoSize() const;
+    CanvasContext::glEnums infoType() const;
+    QString infoName() const;
 
 signals:
-    void sizeChanged(int size);
-    void typeChanged(CanvasContext::glEnums type);
-    void nameChanged(QString &name);
+    void infoSizeChanged(int size);
+    void infoTypeChanged(CanvasContext::glEnums type);
+    void infoNameChanged(QString &name);
 
 private:
     int m_size;
diff --git a/src/buffer3d.cpp b/src/buffer3d.cpp
index 1f5992fc4287c3b5f66420e779ad09ce59f2df71..2d0e2d9390b6f299aa95e473a96f667d2771c402 100644
--- a/src/buffer3d.cpp
+++ b/src/buffer3d.cpp
@@ -134,7 +134,7 @@ GLuint CanvasBuffer::id()
 QDebug operator<<(QDebug dbg, const CanvasBuffer *buffer)
 {
     if (buffer)
-        dbg.nospace() << "Buffer3D("<< buffer->m_name <<", id:" << buffer->m_bufferId << ")";
+        dbg.nospace() << "Buffer3D("<< buffer->name() <<", id:" << buffer->m_bufferId << ")";
     else
         dbg.nospace() << "Buffer3D("<< ((void*) buffer) <<")";
     return dbg.maybeSpace();
diff --git a/src/canvas3d.cpp b/src/canvas3d.cpp
index ff1608ae0b5fabf386a025cff9c7e8a27011f6c3..72128ef6483998e62921cab987ec27415ea65543 100644
--- a/src/canvas3d.cpp
+++ b/src/canvas3d.cpp
@@ -93,7 +93,6 @@ Canvas::Canvas(QQuickItem *parent):
     m_maxSamples(4),
     #endif
     m_samples(0),
-    m_isAnimated(false),
     m_devicePixelRatio(1.0f),
     m_imageLoader(0),
     m_isContextAttribsSet(false),
@@ -474,29 +473,6 @@ void Canvas::setImageLoader(CanvasTextureImageLoader *loader)
     emit imageLoaderChanged(loader);
 }
 
-/*!
- \qmlproperty bool Canvas3D::animated
- Specifies whether the Canvas3D continuously emits the renderGL signal to render new
- frames or not. In most cases this property should be set to true as the 3D content is
- dynamic.
- \note Currenly not used.
- */
-void Canvas::setAnimated(bool animated)
-{
-    if (m_logAllCalls) qDebug() << "Canvas3D::" << __FUNCTION__;
-    if (animated != m_isAnimated) {
-        m_isAnimated = animated;
-        emit animatedChanged(animated);
-        emit needRender();
-    }
-}
-
-bool Canvas::isAnimated()
-{
-    if (m_logAllCalls) qDebug() << "Canvas3D::" << __FUNCTION__;
-    return m_isAnimated;
-}
-
 /*!
  * \internal
  */
diff --git a/src/canvas3d_p.h b/src/canvas3d_p.h
index 8c7479fc71f45deddb0393a2313a6c50caa151c3..ef9c4e3002810ea47e23ef272fd9a44828f1b318 100644
--- a/src/canvas3d_p.h
+++ b/src/canvas3d_p.h
@@ -62,7 +62,6 @@ class QT_CANVAS3D_EXPORT Canvas : public QQuickItem, QOpenGLFunctions
     Q_DISABLE_COPY(Canvas)
     Q_INTERFACES(QQmlParserStatus)
     Q_PROPERTY(CanvasContext *context READ context NOTIFY contextChanged)
-    Q_PROPERTY(bool animated READ isAnimated WRITE setAnimated NOTIFY animatedChanged)
     Q_PROPERTY(bool logAllCalls READ logAllCalls WRITE setLogAllCalls NOTIFY logAllCallsChanged)
     Q_PROPERTY(bool logAllErrors READ logAllErrors WRITE setLogAllErrors NOTIFY logAllErrorsChanged)
     Q_PROPERTY(float devicePixelRatio READ devicePixelRatio NOTIFY devicePixelRatioChanged)
@@ -74,8 +73,6 @@ public:
 
     void handleWindowChanged(QQuickWindow *win);
     float devicePixelRatio();
-    void setAnimated(bool animated);
-    bool isAnimated();
 
     void setLogAllCalls(bool logCalls);
     bool logAllCalls() const;
@@ -135,7 +132,6 @@ private:
 
     int m_maxSamples;
     int m_samples;
-    bool m_isAnimated;
     float m_devicePixelRatio;
 
     CanvasTextureImageLoader *m_imageLoader;
diff --git a/src/context3d.cpp b/src/context3d.cpp
index 6889c2802a38a394ec5e1deb90b78e469b55b32f..1e763109322ff14a5de1d0a2d4b35720bd0070dc 100644
--- a/src/context3d.cpp
+++ b/src/context3d.cpp
@@ -77,7 +77,7 @@
 
 // Owned by the SG Render Thread!
 CanvasContext::CanvasContext(QOpenGLContext *context, int width, int height, QObject *parent) :
-    QObject(parent),
+    CanvasAbstractObject(parent),
     QOpenGLFunctions(context),
     m_unpackFlipYEnabled(false),
     m_logAllCalls(false),
@@ -3159,7 +3159,7 @@ CanvasUniformLocation *CanvasContext::getUniformLocation(CanvasProgram *program,
     }
 
     CanvasUniformLocation *location = new CanvasUniformLocation(index, this);
-    location->setName(name);
+    location->insert("name", name);
     if (m_logAllCalls) qDebug() << "Context3D::" << __FUNCTION__
                                 << "(program:" << program
                                 << ", name:" << name
@@ -4930,9 +4930,9 @@ QVariant CanvasContext::getUniform(CanvasProgram *program, CanvasUniformLocation
         CanvasActiveInfo *info = getActiveUniform(program, locationId);
         int numValues = 4;
 
-        qDebug() << "Context3D::" << __FUNCTION__ << "info->type():" << glEnumToString(info->type());
+        qDebug() << "Context3D::" << __FUNCTION__ << "info->type():" << glEnumToString(info->infoType());
 
-        switch (info->type()) {
+        switch (info->infoType()) {
         case SAMPLER_2D:
             // Intentional flow through
         case SAMPLER_CUBE:
diff --git a/src/context3d_p.h b/src/context3d_p.h
index 19a45c5baa6ce1dd448984a25c7357786924b824..20477cfec8313aa4ed215e13a6f3c555b21432d0 100644
--- a/src/context3d_p.h
+++ b/src/context3d_p.h
@@ -49,6 +49,7 @@
 
 #include "canvas3dcommon_p.h"
 #include "contextattributes_p.h"
+#include "abstractobject3d_p.h"
 
 #include <QtGui/QOpenGLFunctions>
 #include <QString>
@@ -83,7 +84,7 @@ class CanvasTypedArray;
 class CanvasShaderPrecisionFormat;
 class EnumToStringMap;
 
-class QT_CANVAS3D_EXPORT CanvasContext : public QObject, protected QOpenGLFunctions
+class QT_CANVAS3D_EXPORT CanvasContext : public CanvasAbstractObject, protected QOpenGLFunctions
 {
     Q_OBJECT
     Q_DISABLE_COPY(CanvasContext)
diff --git a/src/contextattributes.cpp b/src/contextattributes.cpp
index 9f39983991d5f49b1351caaa1dda53e4468669c5..a6a11e064cdf2e2930fb227a5369c4a6039b75f0 100644
--- a/src/contextattributes.cpp
+++ b/src/contextattributes.cpp
@@ -57,7 +57,7 @@
  * \internal
  */
 CanvasContextAttributes::CanvasContextAttributes(QObject *parent) :
-    QObject(parent),
+    CanvasAbstractObject(parent),
     m_alpha(false),  // Should be true according to official WebGL spec. But ignored for now.
     m_depth(false),
     m_stencil(false),
diff --git a/src/contextattributes_p.h b/src/contextattributes_p.h
index 7abc012f1a1ad246fef6c670c5b0f414559535db..df1a8dfd385c388710aacf3b38c070cefc5fd641 100644
--- a/src/contextattributes_p.h
+++ b/src/contextattributes_p.h
@@ -47,9 +47,11 @@
 #ifndef CONTEXTATTRIBUTES_P_H
 #define CONTEXTATTRIBUTES_P_H
 
+#include "abstractobject3d_p.h"
+
 #include <QObject>
 
-class CanvasContextAttributes : public QObject
+class CanvasContextAttributes : public CanvasAbstractObject
 {
     Q_OBJECT
 
diff --git a/src/float32array.cpp b/src/float32array.cpp
index 314ed66d3a8ca2d9df838345a5ec2c8175251685..b9de1e7a99553a6125c1498b3282c5a341a5739c 100644
--- a/src/float32array.cpp
+++ b/src/float32array.cpp
@@ -252,7 +252,7 @@ TypedArray *Float32Array::subarray(long begin, long end)
 QDebug operator<<(QDebug dbg, const CanvasFloat32Array *array)
 {
     if (array)
-        dbg.nospace() << "Float32Array ("<< array->m_name <<", length:" << array->length() << ")";
+        dbg.nospace() << "Float32Array ("<< array->name() <<", length:" << array->length() << ")";
     else
         dbg.nospace() << "Float32Array (null)";
     return dbg.maybeSpace();
diff --git a/src/framebuffer3d.cpp b/src/framebuffer3d.cpp
index 50dee954518541c5161c01a2064202761528491f..aa64300cc90153fee59650183df791a8bd5d7618 100644
--- a/src/framebuffer3d.cpp
+++ b/src/framebuffer3d.cpp
@@ -98,7 +98,7 @@ GLuint CanvasFrameBuffer::id()
 QDebug operator<<(QDebug dbg, const CanvasFrameBuffer *buffer)
 {
     if (buffer)
-        dbg.nospace() << "FrameBuffer3D("<< buffer->m_name <<", id:" << buffer->m_framebufferId << ")";
+        dbg.nospace() << "FrameBuffer3D("<< buffer->name() <<", id:" << buffer->m_framebufferId << ")";
     else
         dbg.nospace() << "FrameBuffer3D("<< ((void*) buffer) <<")";
     return dbg.maybeSpace();
diff --git a/src/program3d.cpp b/src/program3d.cpp
index 275a7c1e89a5acf13199b512b01c966c60ba21f4..cd3ff0284a3bb8083d3180b2f70785d832cf536f 100644
--- a/src/program3d.cpp
+++ b/src/program3d.cpp
@@ -216,7 +216,7 @@ QString CanvasProgram::log()
 QDebug operator<<(QDebug dbg, const CanvasProgram *program)
 {
     if (program)
-        dbg.nospace() << "Program3D("<< program->m_name << ", id:" << program->m_program->programId() << ")";
+        dbg.nospace() << "Program3D("<< program->name() << ", id:" << program->m_program->programId() << ")";
     else
         dbg.nospace() << "Program3D("<< ((void*) program) <<")";
     return dbg.maybeSpace();
diff --git a/src/renderbuffer3d.cpp b/src/renderbuffer3d.cpp
index 8f8b1ee068549a85d8a16b56d8ee25d3cb83dec9..067df6c250cd4cc53d185510ece90a0168d18e20 100644
--- a/src/renderbuffer3d.cpp
+++ b/src/renderbuffer3d.cpp
@@ -50,7 +50,7 @@
  * \internal
  */
 CanvasRenderBuffer::CanvasRenderBuffer(QObject *parent) :
-    QObject(parent)
+    CanvasAbstractObject(parent)
 {
     initializeOpenGLFunctions();
     glGenRenderbuffers(1, &m_renderbufferId);
diff --git a/src/renderbuffer3d_p.h b/src/renderbuffer3d_p.h
index 5ce37e93d1899c7f1a7644308bed741f73a94fce..8da1b7b5dce1a7ff06c527d9ba2582dd7f50515f 100644
--- a/src/renderbuffer3d_p.h
+++ b/src/renderbuffer3d_p.h
@@ -47,10 +47,12 @@
 #ifndef RENDERBUFFER3D_P_H
 #define RENDERBUFFER3D_P_H
 
+#include "abstractobject3d_p.h"
+
 #include <QObject>
 #include <QOpenGLFunctions>
 
-class CanvasRenderBuffer : public QObject, protected QOpenGLFunctions
+class CanvasRenderBuffer : public CanvasAbstractObject, protected QOpenGLFunctions
 {
     Q_OBJECT
 public:
diff --git a/src/shader3d.cpp b/src/shader3d.cpp
index 1b2b990892f71ade99df34c2df748226741b7f3d..f6d060c0ed60298f3f43b2a7336834e6f5f00de1 100644
--- a/src/shader3d.cpp
+++ b/src/shader3d.cpp
@@ -50,7 +50,7 @@
  * \internal
  */
 CanvasShader::CanvasShader(QOpenGLShader::ShaderType type, QObject *parent) :
-    QObject(parent),
+    CanvasAbstractObject(parent),
     m_shader(new QOpenGLShader(type, this)),
     m_sourceCode("")
 {
diff --git a/src/shader3d_p.h b/src/shader3d_p.h
index 9e49a3741947b8dae4fd327c09f1c4411cecaafc..ba4de3ef859eb7e2ee5d6d2aa88dd581d355aee4 100644
--- a/src/shader3d_p.h
+++ b/src/shader3d_p.h
@@ -48,10 +48,11 @@
 #define SHADER3D_P_H
 
 #include "context3d_p.h"
+#include "abstractobject3d_p.h"
 
 #include <QOpenGLShader>
 
-class CanvasShader : public QObject
+class CanvasShader : public CanvasAbstractObject
 {
     Q_OBJECT
 public:
diff --git a/src/shaderprecisionformat.cpp b/src/shaderprecisionformat.cpp
index 9b34f702ba01d096f67594c89e00f58ead581864..02562e888b190ecc447ef137e245468ea66a23a4 100644
--- a/src/shaderprecisionformat.cpp
+++ b/src/shaderprecisionformat.cpp
@@ -52,7 +52,7 @@
  * \internal
  */
 CanvasShaderPrecisionFormat::CanvasShaderPrecisionFormat(QObject *parent) :
-    QObject(parent)
+    CanvasAbstractObject(parent)
 {
 }
 
diff --git a/src/shaderprecisionformat_p.h b/src/shaderprecisionformat_p.h
index 470c96b918aa6ad6cda4fa443f274456fc9b48c5..12e7b95578e4c91714d1b336b87824a1adf1e1eb 100644
--- a/src/shaderprecisionformat_p.h
+++ b/src/shaderprecisionformat_p.h
@@ -47,9 +47,11 @@
 #ifndef SHADERPRECISIONFORMAT_P_H
 #define SHADERPRECISIONFORMAT_P_H
 
+#include "abstractobject3d_p.h"
+
 #include <QObject>
 
-class CanvasShaderPrecisionFormat : public QObject
+class CanvasShaderPrecisionFormat : public CanvasAbstractObject
 {
     Q_OBJECT
     Q_PROPERTY(int rangeMin READ rangeMin NOTIFY rangeMinChanged)
diff --git a/src/teximage3d.cpp b/src/teximage3d.cpp
index d398e9eebfd419e1053b510029a6ab1902f80b00..3e9e1b6a7708dba4c1fce482a9e0a2da2d433107 100644
--- a/src/teximage3d.cpp
+++ b/src/teximage3d.cpp
@@ -358,7 +358,7 @@ uchar *CanvasTextureImage::convertToFormat(CanvasContext::glEnums format, bool f
 QDebug operator<<(QDebug dbg, const CanvasTextureImage *texImage)
 {
     if (texImage)
-        dbg.nospace() << "TexImage3D("<< ((void*) texImage) << texImage->m_name << ")";
+        dbg.nospace() << "TexImage3D("<< ((void*) texImage) << texImage->name() << ")";
     else
         dbg.nospace() << "TexImage3D("<< ((void*) texImage) <<")";
     return dbg.maybeSpace();
diff --git a/src/teximage3dloader.cpp b/src/teximage3dloader.cpp
index 049b14673d0f4ebaa3b2b211328a21ae6015eace..4a5e2d8ddd538bed9e23bbde6c922c08d75acf7b 100644
--- a/src/teximage3dloader.cpp
+++ b/src/teximage3dloader.cpp
@@ -70,7 +70,7 @@
  * \internal
  */
 CanvasTextureImageLoader::CanvasTextureImageLoader(QObject *parent) :
-    QObject(parent),
+    CanvasAbstractObject(parent),
     m_logAllCalls(false),
     m_logAllErrors(true),
     m_image(0),
diff --git a/src/teximage3dloader_p.h b/src/teximage3dloader_p.h
index 8e2421d0c511c7480a069078bb7e97a7a2124f41..6df88702ec346e379614af2a6483c69a233b3901 100644
--- a/src/teximage3dloader_p.h
+++ b/src/teximage3dloader_p.h
@@ -47,11 +47,12 @@
 #ifndef TEXIMAGE3DLOADER_P_H
 #define TEXIMAGE3DLOADER_P_H
 
+#include "abstractobject3d_p.h"
 #include "teximage3d_p.h"
 
 class Canvas;
 
-class CanvasTextureImageLoader : public QObject
+class CanvasTextureImageLoader : public CanvasAbstractObject
 {
     Q_OBJECT
     Q_PROPERTY(CanvasTextureImage* image READ image)
diff --git a/src/texture3d.cpp b/src/texture3d.cpp
index e11558fce36789844effbf73408dc4cf7a97b68d..cfcef46723108922d965abc4fe0b1de3b9618135 100644
--- a/src/texture3d.cpp
+++ b/src/texture3d.cpp
@@ -113,7 +113,7 @@ void CanvasTexture::del()
 QDebug operator<<(QDebug dbg, const CanvasTexture *texture)
 {
     if (texture)
-        dbg.nospace() << "Texture3D("<< ((void*) texture) << texture->m_name << ")";
+        dbg.nospace() << "Texture3D("<< ((void*) texture) << texture->name() << ")";
     else
         dbg.nospace() << "Texture3D("<< ((void*) texture) <<")";
     return dbg.maybeSpace();
diff --git a/src/typedarray.cpp b/src/typedarray.cpp
index 119aca0f48d8ed715ef34bf12a13c54c2ff18ca7..5e6cabd5f34eff1270cda1081a2c18a3c9713999 100644
--- a/src/typedarray.cpp
+++ b/src/typedarray.cpp
@@ -115,7 +115,7 @@ void CanvasTypedArray::setLength(unsigned long length)
 QDebug operator<<(QDebug dbg, const CanvasTypedArray *array)
 {
     if (array)
-        dbg.nospace() << "TypedArray ("<< array->m_name <<", length:" << array->length() << ")";
+        dbg.nospace() << "TypedArray ("<< array->name() <<", length:" << array->length() << ")";
     else
         dbg.nospace() << "TypedArray (null)";
     return dbg.maybeSpace();
diff --git a/src/uniformlocation.cpp b/src/uniformlocation.cpp
index a1b38be94d41672f0d9064651713f4fb7fc1a247..0793def5654c9dc36c2290b740c91fa4c6682038 100644
--- a/src/uniformlocation.cpp
+++ b/src/uniformlocation.cpp
@@ -76,7 +76,7 @@ int CanvasUniformLocation::id()
 QDebug operator<<(QDebug dbg, const CanvasUniformLocation *uLoc)
 {
     if (uLoc)
-        dbg.nospace() << "UniformLocation("<< (void *) uLoc << ", name:"<< uLoc->m_name <<", location:" << uLoc->m_location << ")";
+        dbg.nospace() << "UniformLocation("<< (void *) uLoc << ", name:"<< uLoc->name() <<", location:" << uLoc->m_location << ")";
     else
         dbg.nospace() << "UniformLocation("<< (void *)(uLoc) << ")";