Skip to content

Commit 40373ab

Browse files
authored
fix: 2d canvas fallback logic (#7295)
1 parent 86d4244 commit 40373ab

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

Diff for: src/plugins/plot/chart/MctChart.vue

+1
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ export default {
506506
this.overlay = overlayCanvas;
507507
this.drawAPI = DrawLoader.getFallbackDrawAPI(this.canvas, this.overlay);
508508
this.$emit('plot-reinitialize-canvas');
509+
console.warn(`📈 fallback to 2D canvas`);
509510
},
510511
removeChartElement(series) {
511512
const elements = this.seriesElements.get(toRaw(series));

Diff for: src/plugins/plot/draw/DrawWebGL.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,14 @@ DrawWebGL.prototype.initContext = function () {
154154
DrawWebGL.prototype.destroy = function () {
155155
// Lose the context and delete all associated resources
156156
// https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#lose_contexts_eagerly
157-
this.gl.getExtension('WEBGL_lose_context').loseContext();
158-
this.gl.deleteBuffer(this.buffer);
157+
this.gl?.getExtension('WEBGL_lose_context')?.loseContext();
158+
this.gl?.deleteBuffer(this.buffer);
159159
this.buffer = undefined;
160-
this.gl.deleteProgram(this.program);
160+
this.gl?.deleteProgram(this.program);
161161
this.program = undefined;
162-
this.gl.deleteShader(this.vertexShader);
162+
this.gl?.deleteShader(this.vertexShader);
163163
this.vertexShader = undefined;
164-
this.gl.deleteShader(this.fragmentShader);
164+
this.gl?.deleteShader(this.fragmentShader);
165165
this.fragmentShader = undefined;
166166
this.gl = undefined;
167167

0 commit comments

Comments
 (0)