OpenGLSdlGraphics3dManager::setupScreen() might invoke `glGetIntegerv` without GL context — at Initial Version
|Reported by:||GMTA||Owned by:|
When switching from the launcher to an OpenGL game such as Grim Fandango, the GL context is destroyed and then created again. To create a new context,
OpenGLSdlGraphics3dManager::setupScreen() is invoked. Before it actually created a new context, the MSAA sample count is retrieved with:
This in turn invokes
glGetIntegerv. According to the OpenGL spec, invoking any API without an active GL context results in undefined behavior.
While porting ScummVM to SerenityOS, I have had to patch out the above call to make Grim Fandango work at all. This is not a fix but a workaround, but it might be useful for you to see.
A possible solution would be to make sure to only retrieve the samples when a GL context exists.
Change History (1)
by , 11 months ago