X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fvisitor.cpp;h=5da89f54e69b608d1202f13fd2bdbced0a787f72;hb=bde40be11da83206f3d33a8225963d47a413662e;hp=8c8056c56352c99a56ca3a7e5b21e298026e5fbe;hpb=2a9f8f3803e1b57e0e5325454266d4e701b38cc5;p=libs%2Fgl.git diff --git a/source/glsl/visitor.cpp b/source/glsl/visitor.cpp index 8c8056c5..5da89f54 100644 --- a/source/glsl/visitor.cpp +++ b/source/glsl/visitor.cpp @@ -53,6 +53,13 @@ void TraversingVisitor::visit(Assignment &assign) visit(assign.right); } +void TraversingVisitor::visit(TernaryExpression &ternary) +{ + visit(ternary.condition); + visit(ternary.true_expr); + visit(ternary.false_expr); +} + void TraversingVisitor::visit(FunctionCall &call) { for(NodeArray::iterator i=call.arguments.begin(); i!=call.arguments.end(); ++i) @@ -200,7 +207,11 @@ void NodeRemover::visit(InterfaceBlock &iface) void NodeRemover::visit(FunctionDeclaration &func) { if(to_remove->count(&func)) + { remove_from_map(stage->functions, func.name, func); + if(!func.signature.empty()) + remove_from_map(stage->functions, func.name+func.signature, func); + } TraversingVisitor::visit(func); }