From 14ed2048450d55a0edafb675f1d07e89c8b53ad0 Mon Sep 17 00:00:00 2001 From: Dave Pagurek Date: Thu, 6 Oct 2022 20:00:58 -0400 Subject: [PATCH] Make sure setAttributes updates lingering references to the old canvas --- src/webgl/p5.RendererGL.js | 1 + test/unit/webgl/p5.RendererGL.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/webgl/p5.RendererGL.js b/src/webgl/p5.RendererGL.js index ab22ad2808..158c49efc0 100755 --- a/src/webgl/p5.RendererGL.js +++ b/src/webgl/p5.RendererGL.js @@ -297,6 +297,7 @@ p5.RendererGL.prototype._resetContext = function(options, callback) { document.body.appendChild(c); } this._pInst.canvas = c; + this.canvas = c; } const renderer = new p5.RendererGL( diff --git a/test/unit/webgl/p5.RendererGL.js b/test/unit/webgl/p5.RendererGL.js index b0f60762f4..71753a5e85 100644 --- a/test/unit/webgl/p5.RendererGL.js +++ b/test/unit/webgl/p5.RendererGL.js @@ -756,4 +756,15 @@ suite('p5.RendererGL', function() { done(); }); }); + + suite('setAttributes', function() { + test('It leaves a reference to the correct canvas', function(done) { + const renderer = myp5.createCanvas(10, 10, myp5.WEBGL); + assert.equal(myp5.canvas, renderer.canvas); + + myp5.setAttributes({ alpha: true }); + assert.equal(myp5.canvas, renderer.canvas); + done(); + }); + }); });