diff --git a/core/src/processing/opengl/PGL.java b/core/src/processing/opengl/PGL.java index 1013a5559..e1ff8c30f 100644 --- a/core/src/processing/opengl/PGL.java +++ b/core/src/processing/opengl/PGL.java @@ -569,8 +569,6 @@ public class PGL { listener = new PGLListener(); canvasAWT.addGLEventListener(listener); - - canvasAWT.requestFocus(); } else if (WINDOW_TOOLKIT == NEWT) { window = GLWindow.create(caps); if (sharedCtx != null) { @@ -601,8 +599,6 @@ public class PGL { listener = new PGLListener(); window.addGLEventListener(listener); - - canvasNEWT.requestFocus(); } fboLayerCreated = false; @@ -1135,6 +1131,14 @@ public class PGL { } + protected void requestFocus() { + if (canvas != null) { + System.out.println("request focus for the GL canvas"); + canvas.requestFocus(); + } + } + + protected boolean canDraw() { return pg.initialized && pg.parent.isDisplayable(); } diff --git a/core/src/processing/opengl/PGraphicsOpenGL.java b/core/src/processing/opengl/PGraphicsOpenGL.java index 62ec088e3..312a1403b 100644 --- a/core/src/processing/opengl/PGraphicsOpenGL.java +++ b/core/src/processing/opengl/PGraphicsOpenGL.java @@ -1579,6 +1579,12 @@ public class PGraphicsOpenGL extends PGraphics { } + @Override + public void requestFocus() { // ignore + pgl.requestFocus(); + } + + /** * OpenGL cannot draw until a proper native peer is available, so this * returns the value of PApplet.isDisplayable() (inherited from Component).