summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/utils')
-rw-r--r--src/datavisualization/utils/shaderhelper.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/datavisualization/utils/shaderhelper.cpp b/src/datavisualization/utils/shaderhelper.cpp
index 7df1736c..e27103af 100644
--- a/src/datavisualization/utils/shaderhelper.cpp
+++ b/src/datavisualization/utils/shaderhelper.cpp
@@ -22,6 +22,14 @@
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
+void discardDebugMsgs(QtMsgType type, const QMessageLogContext &context, const QString &msg)
+{
+ Q_UNUSED(type)
+ Q_UNUSED(context)
+ Q_UNUSED(msg)
+ // Used to discard warnings generated during shader test compilation
+}
+
ShaderHelper::ShaderHelper(QObject *parent,
const QString &vertexShader,
const QString &fragmentShader,
@@ -88,14 +96,19 @@ void ShaderHelper::initialize()
bool ShaderHelper::testCompile()
{
+ bool result = true;
+ // Discard warnings, we only need the result
+ QtMessageHandler handler = qInstallMessageHandler(discardDebugMsgs);
if (m_program)
delete m_program;
m_program = new QOpenGLShaderProgram(m_caller);
if (!m_program->addShaderFromSourceFile(QOpenGLShader::Vertex, m_vertexShaderFile))
- return false;
+ result = false;
if (!m_program->addShaderFromSourceFile(QOpenGLShader::Fragment, m_fragmentShaderFile))
- return false;
- return true;
+ result = false;
+ // Restore actual message handler
+ qInstallMessageHandler(handler);
+ return result;
}
void ShaderHelper::bind()