From 07f351888f8b6632c55f15d98b9740381309de51 Mon Sep 17 00:00:00 2001
From: dsehnal <david.sehnal@gmail.com>
Date: Sun, 17 Jan 2021 11:15:15 +0100
Subject: [PATCH] add doNotForceWebGLContextLoss option
---
src/mol-canvas3d/canvas3d.ts | 6 +++---
src/mol-plugin/context.ts | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts
index 9176c5338..b04242f6f 100644
--- a/src/mol-canvas3d/canvas3d.ts
+++ b/src/mol-canvas3d/canvas3d.ts
@@ -135,7 +135,7 @@ interface Canvas3D {
readonly stats: RendererStats
readonly interaction: Canvas3dInteractionHelper['events']
- dispose(): void
+ dispose(options?: { doNotForceWebGLContextLoss?: boolean }): void
}
const requestAnimationFrame = typeof window !== 'undefined'
@@ -705,7 +705,7 @@ namespace Canvas3D {
get interaction() {
return interactionHelper.events;
},
- dispose: () => {
+ dispose: (options?: { doNotForceWebGLContextLoss?: boolean }) => {
contextRestoredSub.unsubscribe();
scene.clear();
@@ -715,7 +715,7 @@ namespace Canvas3D {
renderer.dispose();
interactionHelper.dispose();
- gl.getExtension('WEBGL_lose_context')?.loseContext();
+ if (!options?.doNotForceWebGLContextLoss) gl.getExtension('WEBGL_lose_context')?.loseContext();
}
};
diff --git a/src/mol-plugin/context.ts b/src/mol-plugin/context.ts
index cc94a312f..1d785a6c9 100644
--- a/src/mol-plugin/context.ts
+++ b/src/mol-plugin/context.ts
@@ -256,10 +256,10 @@ export class PluginContext {
return PluginCommands.State.RemoveObject(this, { state: this.state.data, ref: StateTransform.RootRef });
}
- dispose() {
+ dispose(options?: { doNotForceWebGLContextLoss?: boolean }) {
if (this.disposed) return;
this.commands.dispose();
- this.canvas3d?.dispose();
+ this.canvas3d?.dispose(options);
this.ev.dispose();
this.state.dispose();
this.managers.task.dispose();
--
GitLab