Hola a tod@s. El problema proviene de función de la API de Windows en colaboración con OpenGL. La función es wglMakeCurrent(NULL, NULL). El problema es que que a veces (aleatoriamente) el programa crashea. He buscado por internet, pero nadie ha dado una respuesta que me sirva.
Esta función la utilizo cuando voy a cerrar el programa. Aquí está la función llamada al cerrarse el programa:
void Game::destroy() {
wglMakeCurrent(NULL, NULL);
wglDeleteContext(*hRC);
ReleaseDC(*hWnd, *hDC);
delete[] cWindow;
delete[] hWnd;
delete[] Msg;
delete[] hDC;
delete[] hRC;
}
¿Lo depuraste? Si realmente la excepcion no controlada se produce dentro de la funcion seguramente tenes recursos sin liberar de otra manera es posible que hagas llamadas posteriores invalidas por haber llamado a wglMakeCurrent.