Mesa (glsl2): linker: Use foreach_list_safe in move_non_declarations

Ian Romanick idr at kemper.freedesktop.org
Mon Jul 19 19:41:10 UTC 2010


Module: Mesa
Branch: glsl2
Commit: 303c99f12fd1234a763147f9e081f2544433fc77
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=303c99f12fd1234a763147f9e081f2544433fc77

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Jul 19 12:34:56 2010 -0700

linker: Use foreach_list_safe in move_non_declarations

The node being processed may be removed from the list and put in a
different list.  Not using the safe version caused list processing to
change streams after moving a node.

---

 src/glsl/linker.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index d46744e..72b83ff 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -543,7 +543,7 @@ exec_node *
 move_non_declarations(exec_list *instructions, exec_node *last,
 		      bool make_copies, gl_shader *target)
 {
-   foreach_list(node, instructions) {
+   foreach_list_safe(node, instructions) {
       ir_instruction *inst = (ir_instruction *) node;
 
       if (inst->as_variable() || inst->as_function())




More information about the mesa-commit mailing list