@Override public boolean onGLIdle(final GLCanvas canvas, final boolean renderRequested) { if (!mCancelled) { try { canvas.beginRenderTarget(mTexture); mRootPane.render(canvas); canvas.endRenderTarget(); } catch (final RuntimeException e) { mTexture = null; } } else { mTexture = null; } mResultReady.open(); return false; }