From e2bee28aa0bf97652444ca3a5389b6c49fa32a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 11 Jun 2015 01:26:18 +0200 Subject: [PATCH] Properly initialize debug group implementation pointers in all cases. Caused crash when using debug groups on platforms without KHR_debug. --- src/Magnum/Implementation/DebugState.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Magnum/Implementation/DebugState.cpp b/src/Magnum/Implementation/DebugState.cpp index cdc5a4f8b..772316e93 100644 --- a/src/Magnum/Implementation/DebugState.cpp +++ b/src/Magnum/Implementation/DebugState.cpp @@ -63,14 +63,22 @@ DebugState::DebugState(Context& context, std::vector& extensions): if(context.isExtensionSupported()) { extensions.push_back(Extensions::GL::EXT::debug_marker::string()); + pushGroupImplementation = &DebugGroup::pushImplementationExt; + popGroupImplementation = &DebugGroup::popImplementationExt; messageInsertImplementation = &DebugMessage::insertImplementationExt; #ifndef MAGNUM_TARGET_GLES } else if(context.isExtensionSupported()) { extensions.push_back(Extensions::GL::GREMEDY::string_marker::string()); + pushGroupImplementation = &DebugGroup::pushImplementationNoOp; + popGroupImplementation = &DebugGroup::popImplementationNoOp; messageInsertImplementation = &DebugMessage::insertImplementationGremedy; #endif - } else messageInsertImplementation = &DebugMessage::insertImplementationNoOp; + } else { + pushGroupImplementation = &DebugGroup::pushImplementationNoOp; + popGroupImplementation = &DebugGroup::popImplementationNoOp; + messageInsertImplementation = &DebugMessage::insertImplementationNoOp; + } controlImplementation = &DebugOutput::controlImplementationNoOp; callbackImplementation = &DebugOutput::callbackImplementationNoOp;