Skip to content

Commit f3bed8c

Browse files
committed
Pass : Fixed selfShaders cloning
1 parent 8fe08b5 commit f3bed8c

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

h3d/mat/Pass.hx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,17 @@ class Pass {
377377

378378
public function clone() {
379379
var p = new Pass(name, shaders.clone());
380-
p.selfShaders = selfShaders;
380+
if ( selfShaders != null ) {
381+
var sl = selfShaders;
382+
var prev = null;
383+
while ( sl != null && sl != shaders) {
384+
prev = sl;
385+
sl = sl.next;
386+
}
387+
prev.next = null;
388+
p.selfShaders = selfShaders.clone();
389+
prev.next = sl;
390+
}
381391
p.bits = bits;
382392
p.enableLights = enableLights;
383393
if (stencil != null) p.stencil = stencil.clone();

0 commit comments

Comments
 (0)