VBF, 텍스처 등으로 랩핑하고 OpenGL 개체 인 Mesh
이라는 클래스가 있습니다.이 클래스는 QObject
에서 상속 받고 부모는 내 QGLWidget
으로 설정됩니다. 따라서 위젯을 닫으면 곧 QObject 시스템에 의해 삭제 될 것입니다.QGLWidget 컨텍스트 파기
하지만이 메쉬 클래스에는 정리에 대한 OpenGL 호출을 일부 수행하는 소멸자가 있기 때문에 문제가 있습니다. QObject 자식 소멸자가 시작되면 OpenGL 컨텍스트가 이미 파괴되고 segfault가 생깁니다.
~Mesh()
소멸자가 호출되어 QGLWidget
컨텍스트가 삭제되기 전에 어떻게 확인할 수 있습니까? 당신이 ~QGLWidget()
자체 전에이 실행됩니다 넣어 모든 때문에
QOpenGLContext를 확인하고 직접 관리하는 것이 좋습니다. – Ben