]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.cpp
Fix a block management error in FunctionInliner
[libs/gl.git] / source / glsl / optimize.cpp
index 8cbf24e1be0309a2c8304051cc185d9316836974..08455c8ac61412d71fb8cfbb684c857f6a883169 100644 (file)
@@ -1,4 +1,5 @@
 #include <msp/core/raii.h>
+#include <msp/strings/format.h>
 #include "optimize.h"
 
 using namespace std;
@@ -198,6 +199,7 @@ void FunctionInliner::visit_and_inline(RefPtr<Expression> &ptr)
 
 void FunctionInliner::visit(Block &block)
 {
+       SetForScope<Block *> set_block(current_block, &block);
        SetForScope<NodeList<Statement>::iterator> save_insert_point(insert_point, block.body.begin());
        for(NodeList<Statement>::iterator i=block.body.begin(); i!=block.body.end(); ++i)
        {