feat(src/components/camera/MSFunctions): better asserts

This commit is contained in:
Ronan Abhamon 2017-03-14 09:30:03 +01:00
parent cbc8c720ad
commit 2a81d291e1
2 changed files with 10 additions and 5 deletions

View file

@ -29,7 +29,7 @@
#include <QFileInfo>
#include <QQuickWindow>
// =============================================================================
// =============================================================================
struct CameraStateBinder {
CameraStateBinder (CameraRenderer *renderer) : m_renderer(renderer) {

View file

@ -25,12 +25,16 @@
#include <QOpenGLFunctions>
#define GL_ASSERT() \
Q_ASSERT(m_instance->m_q_functions != NULL); \
Q_ASSERT(QOpenGLContext::currentContext()->functions() == m_instance->m_q_functions);
#define GL_CALL(CALL) \
Q_ASSERT(QOpenGLContext::currentContext()->functions() == m_instance->m_q_functions && m_instance->m_q_functions != NULL); \
GL_ASSERT() \
m_instance->m_q_functions->CALL;
#define GL_CALL_RET(CALL) \
Q_ASSERT(QOpenGLContext::currentContext()->functions() == m_instance->m_q_functions && m_instance->m_q_functions != NULL); \
GL_ASSERT() \
return m_instance->m_q_functions->CALL;
// =============================================================================
@ -42,11 +46,11 @@ public:
~MSFunctions ();
void bind (QOpenGLFunctions *f) {
m_q_functions = f;
m_q_functions = f; // Qt functions.
}
OpenGlFunctions *getFunctions () {
return m_functions;
return m_functions; // Own implementation.
}
// ---------------------------------------------------------------------------
@ -217,5 +221,6 @@ private:
#undef GL_CALL
#undef GL_CALL_RET
#undef GL_ASSERT
#endif // MS_FUNCTIONS_H_