X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fdebug.cpp;h=c02d914720a35707d2e40d167d31f0538f7ec901;hp=2f243dc73dc0d25518ce341597749f4255f45d8a;hb=4e3c03e2b60f9d6a9b8ed69b7150eb91e2db2e34;hpb=2280a09a286bbff2eb41783f8023863f320a3736 diff --git a/source/glsl/debug.cpp b/source/glsl/debug.cpp index 2f243dc7..c02d9147 100644 --- a/source/glsl/debug.cpp +++ b/source/glsl/debug.cpp @@ -11,7 +11,7 @@ namespace SL { std::string DumpTree::apply(Stage &stage) { formatted = format("Stage: %s\n", Stage::get_stage_name(stage.type)); - tree.push_back(BRANCH); + begin_sub(); append(format("Version: %d.%02d", stage.required_features.glsl_version.major, stage.required_features.glsl_version.minor)); for(std::map::const_iterator i=stage.types.begin(); i!=stage.types.end(); ++i) @@ -78,7 +78,8 @@ void DumpTree::append_subtree(Node &node) void DumpTree::begin_sub() { - tree.back() = (tree.back()==BRANCH_LAST ? EMPTY : STRAIGHT); + if(!tree.empty()) + tree.back() = (tree.back()==BRANCH_LAST ? EMPTY : STRAIGHT); tree.push_back(BRANCH); } @@ -90,7 +91,7 @@ void DumpTree::last_branch() void DumpTree::end_sub() { tree.pop_back(); - if(tree.back()==STRAIGHT) + if(!tree.empty() && tree.back()==STRAIGHT) tree.back() = BRANCH; }