@@ -654,13 +654,13 @@ bool GuiTree::DrawBranch(GuiTreeNode& node, GuiState& state, TreeItem*& jump_ite
654
654
drawList->AddLine (horizontal_line_start, horizontal_line_end, ImColor (128 , 128 , 128 , 100 )); // TODO: move TreeView line color to options
655
655
656
656
// draw vertical line if closed by branch
657
- vertical_line_end = ImVec2 (vertical_line_mid, ImGui::GetItemRectMin ().y );
657
+ vertical_line_end = ImVec2 (vertical_line_mid, ImGui::GetItemRectMin ().y ); // was min
658
658
if (!next_node.IsLeaf ())
659
659
{
660
660
drawList->AddLine (vertical_line_start, vertical_line_end, ImColor (128 , 128 , 128 , 100 ));
661
661
vertical_line_start = ImVec2 (vertical_line_mid, ImGui::GetItemRectMax ().y );
662
662
}
663
-
663
+ vertical_line_end = ImVec2 (vertical_line_mid, ( ImGui::GetItemRectMin (). y + ImGui::GetItemRectMax (). y ) / 2 . 0f );
664
664
if (next_node.IsOpen ())
665
665
{
666
666
if (next_node.GetState () >= PS_MetaInfo)
@@ -669,10 +669,10 @@ bool GuiTree::DrawBranch(GuiTreeNode& node, GuiState& state, TreeItem*& jump_ite
669
669
return false ;
670
670
}
671
671
}
672
-
673
672
}
674
- vertical_line_end = ImVec2 (vertical_line_mid, ImGui::GetItemRectMax ().y );
675
- drawList->AddLine (vertical_line_start, vertical_line_end, ImColor (128 , 128 , 128 , 100 ));
673
+
674
+ if (!node.m_children .empty () && node.m_children .back ().IsLeaf ())
675
+ drawList->AddLine (vertical_line_start, vertical_line_end, ImColor (128 , 128 , 128 , 100 ));
676
676
677
677
678
678
return true ;
0 commit comments