I would like to be able to force the underlying cachedImage to be invalid,


void OpenGLContext::invalidateAll() { if (CachedImage* const cachedImage = getCachedImage()) cachedImage->invalidateAll(); }

similar to the already existing triggerRepaint' call. Currently any 2D overlay of an OpenGLContext wont redraw unless the 2D changes. However, if the 3D is changing it will need to redraw. CallinginvalidateAll’ does the trick.

other ideas welcome,
– hugh.


Isn’t that just the same as calling yourGLComp->getCachedComponentImage()->invalidateAll() ?


Yes it is!

Thanks. I was looking for methods via the OpenGLContext, but this gets to the same place.