Heavy-weight OpenGL component repainting when I don't want it too


So I have a large and GPU intensive component in the middle of the GUI. It should only update when something in it changes to avoid tonking the computer unnecessarily. I've set continuous painting off and the OpenGLContext is attached to the top level component, of which the heavy component is a child.

However, when any other component needs to be repainted, even ones nowhere near it, the heavy GL component is repainted. I've checked the paint debugging thing and according to that the GL component isn't repainted, but the render method is still called.

How do I get around this? I don't think I can have a separate context for the heavy component, since I want the rest to be GL too and you can't have overlapping contexts.