Cocoa: OpenGL does not display correctly when compiled on Mojave.
Original Reporter info from Mantis: crlab @neurolabusc1
-
Reporter name: Chris Rorden
Original Reporter info from Mantis: crlab @neurolabusc1
- Reporter name: Chris Rorden
Description:
I realize that Mojave deprecates OpenGL, but with the current SVN one can build OpenGL applications on MacOS 10.13 that work on BOTH MacOS 10.14 and 10.13. However, if you build the OpenGL project on 10.14 the OpenGL context does not repaint on 10.14 (and you get a blank panel). Surprisingly, the project compiled on 10.14 DOES run on 10.13.
To summarize, for OpenGL projects
Compiled on 10.13: Runs on either 10.13 or 10.14
Compiled on 10.14: Runs on 10.13 only!
Seems that "invalidate" does not call a re-paint.
Steps to reproduce:
Open the OpenGL projects that come with Lazarus (/Lazarus/components/opengl/example).
Attempt to run:
testopenglcontext1.lpi
and note a blank screen when compiled on MacOS 10.14
Change the line
OpenGLControl1.Invalidate;
to read
OpenGLControl1.Paint;
and recompile - things should work.
Mantis conversion info:
- Mantis ID: 34983
- OS: Darwin
- OS Build: 10.14.2
- Build: 60206
- Platform: MacBook 2015 Retina 13"
- Version: 2.1 (SVN)
- Fixed in revision: 61061 (#dc8600b0)