From 42756ad88820d35c6b66684dbf8e9ccc359f9510 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= <tomi.korpipaa@theqtcompany.com>
Date: Wed, 20 May 2015 07:30:29 +0300
Subject: [PATCH] Fixed the return types of get...Parameter functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change-Id: Ic23f99dfef8a74203650fe5bc07d4c28d5edddfe
Task-number: QTBUG-46222
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
---
 src/imports/qtcanvas3d/context3d.cpp | 27 ++++++++++++++-------------
 src/imports/qtcanvas3d/context3d_p.h |  4 ++--
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/imports/qtcanvas3d/context3d.cpp b/src/imports/qtcanvas3d/context3d.cpp
index 4d6f573..95c0284 100644
--- a/src/imports/qtcanvas3d/context3d.cpp
+++ b/src/imports/qtcanvas3d/context3d.cpp
@@ -2482,7 +2482,7 @@ void CanvasContext::blendFuncSeparate(glEnums srcRGB, glEnums dstRGB, glEnums sr
 /*!
  * \internal
  */
-QVariant CanvasContext::getProgramParameter(QJSValue program3D, glEnums paramName)
+QJSValue CanvasContext::getProgramParameter(QJSValue program3D, glEnums paramName)
 {
     qCDebug(canvas3drendering).nospace() << "Context3D::" << __FUNCTION__
                                          << "(program3D:" << program3D.toString()
@@ -2492,7 +2492,7 @@ QVariant CanvasContext::getProgramParameter(QJSValue program3D, glEnums paramNam
     CanvasProgram *program = getAsProgram3D(program3D);
 
     if (!program || !checkParent(program, __FUNCTION__))
-        return 0;
+        return QJSValue(QJSValue::NullValue);
 
     switch(paramName) {
     case DELETE_STATUS:
@@ -2504,7 +2504,7 @@ QVariant CanvasContext::getProgramParameter(QJSValue program3D, glEnums paramNam
         glGetProgramiv(program->id(), GLenum(paramName), &value);
         logAllGLErrors(__FUNCTION__);
         qCDebug(canvas3drendering).nospace() << "    getProgramParameter returns " << value;
-        return QVariant::fromValue(value == GL_TRUE);
+        return QJSValue(bool(value));
     }
     case ATTACHED_SHADERS:
         // Intentional flow through
@@ -2515,13 +2515,13 @@ QVariant CanvasContext::getProgramParameter(QJSValue program3D, glEnums paramNam
         glGetProgramiv(program->id(), GLenum(paramName), &value);
         logAllGLErrors(__FUNCTION__);
         qCDebug(canvas3drendering).nospace() << "    getProgramParameter returns " << value;
-        return QVariant::fromValue(value);
+        return QJSValue(value);
     }
     default: {
         m_error |= CANVAS_INVALID_ENUM;
         qCWarning(canvas3drendering).nospace() << "Context3D::" << __FUNCTION__
                                                << ": INVALID_ENUM illegal parameter name ";
-        return QVariant::fromValue(0);
+        return QJSValue(QJSValue::NullValue);
     }
     }
 }
@@ -3587,10 +3587,10 @@ QJSValue CanvasContext::getShaderParameter(QJSValue shader3D, glEnums pname)
         qCWarning(canvas3drendering).nospace() << "Context3D::" << __FUNCTION__
                                                << ":INVALID_VALUE:"
                                                <<"Invalid shader handle:" << shader3D.toString();
-        return 0;
+        return QJSValue(QJSValue::NullValue);
     }
     if (!checkParent(shader, __FUNCTION__))
-        return 0;
+        return QJSValue(QJSValue::NullValue);
 
     switch (pname) {
     case SHADER_TYPE: {
@@ -3602,17 +3602,17 @@ QJSValue CanvasContext::getShaderParameter(QJSValue shader3D, glEnums pname)
     case DELETE_STATUS: {
         bool isDeleted = !shader->isAlive();
         qCDebug(canvas3drendering).nospace() << "    getShaderParameter returns " << isDeleted;
-        return (isDeleted ? QJSValue(bool(GL_TRUE)) : QJSValue(bool(GL_FALSE)));
+        return (isDeleted ? QJSValue(bool(true)) : QJSValue(bool(false)));
     }
     case COMPILE_STATUS: {
         bool isCompiled = shader->qOGLShader()->isCompiled();
         qCDebug(canvas3drendering).nospace() << "    getShaderParameter returns " << isCompiled;
-        return (isCompiled ? QJSValue(bool(GL_TRUE)) : QJSValue(bool(GL_FALSE)));
+        return (isCompiled ? QJSValue(bool(true)) : QJSValue(bool(false)));
     }
     default: {
         qCWarning(canvas3drendering).nospace() << "getShaderParameter():UNSUPPORTED parameter name "
                                                << glEnumToString(pname);
-        return 0;
+        return QJSValue(QJSValue::NullValue);
     }
     }
 }
@@ -5691,7 +5691,7 @@ int CanvasContext::getRenderbufferParameter(glEnums target, glEnums pname)
 /*!
  * \internal
  */
-QVariant CanvasContext::getTexParameter(glEnums target, glEnums pname)
+QJSValue CanvasContext::getTexParameter(glEnums target, glEnums pname)
 {
     qCDebug(canvas3drendering).nospace() << "Context3D::" << __FUNCTION__
                                          << "(target" << glEnumToString(target)
@@ -5710,6 +5710,7 @@ QVariant CanvasContext::getTexParameter(glEnums target, glEnums pname)
         case TEXTURE_WRAP_T:
             glGetTexParameteriv(target, pname, &parameter);
             logAllGLErrors(__FUNCTION__);
+            return QJSValue(parameter);
             break;
         default:
             // Intentional flow through
@@ -5720,11 +5721,11 @@ QVariant CanvasContext::getTexParameter(glEnums target, glEnums pname)
                                                    << "TEXTURE_MIN_FILTER, TEXTURE_WRAP_S"
                                                    << " or TEXTURE_WRAP_T";
             m_error |= CANVAS_INVALID_ENUM;
+            return QJSValue(QJSValue::NullValue);
             break;
         }
     }
-
-    return QVariant::fromValue(parameter);
+    return QJSValue(QJSValue::NullValue);
 }
 
 
diff --git a/src/imports/qtcanvas3d/context3d_p.h b/src/imports/qtcanvas3d/context3d_p.h
index b4b0021..a45c944 100644
--- a/src/imports/qtcanvas3d/context3d_p.h
+++ b/src/imports/qtcanvas3d/context3d_p.h
@@ -1103,7 +1103,7 @@ public:
     Q_INVOKABLE void vertexAttrib4fv(unsigned int indx, QJSValue array);
 
     Q_INVOKABLE QJSValue getShaderParameter(QJSValue shader3D, glEnums paramName);
-    Q_INVOKABLE QVariant getProgramParameter(QJSValue program, glEnums paramName);
+    Q_INVOKABLE QJSValue getProgramParameter(QJSValue program, glEnums paramName);
     Q_INVOKABLE QJSValue getShaderInfoLog(QJSValue shader3D);
 
     /* Buffer object methods */
@@ -1173,7 +1173,7 @@ public:
                                                       glEnums attachment,
                                                       glEnums pname);
     Q_INVOKABLE int getRenderbufferParameter(glEnums target, glEnums pname);
-    Q_INVOKABLE QVariant getTexParameter(glEnums target, glEnums pname);
+    Q_INVOKABLE QJSValue getTexParameter(glEnums target, glEnums pname);
     Q_INVOKABLE QJSValue getUniform(QJSValue program, QJSValue location);
     Q_INVOKABLE uint getVertexAttribOffset(uint index, glEnums pname);
     Q_INVOKABLE QJSValue getVertexAttrib(uint index, glEnums pname);
-- 
GitLab