BACKENDS: AMIGAOS: Fix GL crash on AmigaOS4 (at least)
|Reported by:||raziel-||Owned by:||raziel-|
ScummVM 2.3.0git (Nov 22 2020 10:09:58)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 FriBiDi JPEG PNG cloud (servers, local) TinyGL OpenGL
It looks like OpenGL calls are executed without context.
Just before the crash:
[OS4_GL_MakeCurrent] Called window=0x00000000 context=0x00000000
[OS4_GL_DeleteContext] Called with context=0x6319D300
[OS4_GL_DeleteContext] Found MiniGL context, clearing window binding
[OS4_GL_GetProcAddress] Called for 'glGetString'
[OS4_GL_GetProcAddress] Called for 'glGetIntegerv'
So, the context was deleted right before the crash happened on glGetInteger.
I think the issue might be in ScummVM, because SDL_GL_GetAttribute is supposed to get information about "the current context" ( https://wiki.libsdl.org/SDL_GL_GetAttribute ), which doesn't exist (== nullptr) here:
Please be aware that i´m not sure if this is the correct solution (especially because it addresses all platforms), it at least fixes all the crashes i get in numerous 3D games for me (Grim, EMI, Myst3, WME etc.)
Please advise, thank you
AmigaOS4 - PPC - SDL - BE
gcc (adtools build 8.3.0) 8.3.0