diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index 419f1baae..58011730b 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -32,7 +32,7 @@ #include "GUI.hpp" #ifdef HAS_GLSAFE -void glAssertRecentCallImpl() +void glAssertRecentCallImpl(const char *file_name, unsigned int line, const char *function_name) { GLenum err = glGetError(); if (err == GL_NO_ERROR) @@ -47,7 +47,7 @@ void glAssertRecentCallImpl() case GL_OUT_OF_MEMORY: sErr = "Out Of Memory"; break; default: sErr = "Unknown"; break; } - BOOST_LOG_TRIVIAL(error) << "OpenGL error " << (int)err << ": " << sErr; + BOOST_LOG_TRIVIAL(error) << "OpenGL error in " << file_name << ":" << line << ", function " << function_name << "() : " << (int)err << " - " << sErr; assert(false); } #endif diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index d571f862f..e421997e5 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -16,9 +16,9 @@ #endif #ifdef HAS_GLSAFE -extern void glAssertRecentCallImpl(); -inline void glAssertRecentCall() { glAssertRecentCallImpl(); } -#define glsafe(cmd) do { cmd; glAssertRecentCallImpl(); } while (false) +extern void glAssertRecentCallImpl(const char *file_name, unsigned int line, const char *function_name); +inline void glAssertRecentCall() { glAssertRecentCallImpl(__FILE__, __LINE__, __FUNCTION__); } +#define glsafe(cmd) do { cmd; glAssertRecentCallImpl(__FILE__, __LINE__, __FUNCTION__); } while (false) #else inline void glAssertRecentCall() { } #define glsafe(cmd) cmd