diff --git a/tests/usercontext.c b/tests/usercontext.c index a3182929..6bb3bd73 100644 --- a/tests/usercontext.c +++ b/tests/usercontext.c @@ -1,11 +1,19 @@ #include #include +#include + +static void error_callback(int error, const char* description) +{ + fprintf(stderr, "Error: %s\n", description); +} int main(void) { GLFWwindow* window; GLFWusercontext* usercontext; + glfwSetErrorCallback(error_callback); + /* Initialize the library */ if (!glfwInit()) return -1; @@ -26,16 +34,44 @@ int main(void) usercontext = glfwCreateUserContext(window); if (!usercontext) { + fprintf(stderr, "Failed to create user context\n"); glfwTerminate(); return -1; } + /* set the user context current */ glfwMakeUserContextCurrent(usercontext); + if (glfwGetCurrentContext()!=NULL) + { + fprintf(stderr, "Current glfw window context not NULL after glfwMakeUserContextCurrent\n"); + glfwTerminate(); + return -1; + } + if (glfwGetCurrentUserContext()!=usercontext) + { + fprintf(stderr, "Current user context not correct after glfwMakeUserContextCurrent\n"); + glfwTerminate(); + return -1; + } + /* set the window context current */ glfwMakeContextCurrent(window); + if ( glfwGetCurrentUserContext() != NULL ) + { + fprintf(stderr, "Current user context not NULL after glfwMakeContextCurrent\n"); + glfwTerminate(); + return -1; + } + if ( glfwGetCurrentContext() != window ) + { + fprintf(stderr, "Current glfw window context not correct after glfwMakeContextCurrent\n"); + glfwTerminate(); + return -1; + } + glClearColor( 0.4f, 0.3f, 0.4f, 0.0f );