Skip to content

Commit a091aca

Browse files
committed
fix: primitive element should not dispose underlying object
1 parent 6e7e365 commit a091aca

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

libs/angular-three/src/lib/renderer/state.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ export class NgtRendererStore {
202202
applyProperty(node: NgtRendererNode, name: string, value: any) {
203203
if (node.__ngt_renderer__[NgtRendererClassId.destroyed]) return;
204204
// setup [ref] here
205+
// ref should never change
205206
if (name === SPECIAL_PROPERTIES.REF && is.ref(value)) {
206207
node.__ngt_renderer__[NgtRendererClassId.ref] = value;
207208
value.nativeElement = node;

libs/angular-three/src/lib/renderer/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ export function removeThreeChild(parent: NgtInstanceNode, child: NgtInstanceNode
126126
}
127127

128128
// dispose
129-
if (child['dispose'] && !is.scene(child)) {
129+
if (!isPrimitive && child['dispose'] && !is.scene(child)) {
130130
queueMicrotask(() => child['dispose']());
131131
}
132132

0 commit comments

Comments
 (0)