The GLJPanel implementation does not seem to unbind a temporary texture it uses for reading back pixels from the GPU. The texture is bound at line 1266 in GLJPanel:
If an application does not use texturing but still specifies texture coordinates (for example allowing an on/off switch for displaying textures), this can cause some hard-to-find rendering issues.
It would be nice to have GLJPanel clean up and possible restore the original texture state.
Fix Bug 826 Regression caused by commit 41190c3830157abdf9649cbf7767e57108f55075 (Bug 975)
fix for 'Bug 975 GLJPanel's OffscreenDrawable double swap',
caused a regression of commit c427ed22244df44b71a0f1f000b0f93e56c283c2,
fix for 'Bug 826: GLJPanel: Fully restore TextureState and Viewport'.
Commit 41190c3830157abdf9649cbf7767e57108f55075 issues offscreenDrawable.swapBuffers()
and hence modifying the texture unit settings before saving the TextureState,
the whole purpose of commit c427ed22244df44b71a0f1f000b0f93e56c283c2.