diff --git a/sources/enduro2d/high/widgets/hierarchy_widget.cpp b/sources/enduro2d/high/widgets/hierarchy_widget.cpp index eacc9198..b4f23922 100644 --- a/sources/enduro2d/high/widgets/hierarchy_widget.cpp +++ b/sources/enduro2d/high/widgets/hierarchy_widget.cpp @@ -65,7 +65,11 @@ namespace }); if ( ImGui::IsItemClicked() ) { - e.select(owner); + if ( ImGui::IsItemToggledOpen() || e.selection() != owner ) { + e.select(owner); + } else { + e.clear_selection(); + } } if ( ImGui::BeginPopupContextItem() ) { @@ -137,12 +141,6 @@ namespace { e.selection().destroy(); } - - if ( ImGui::IsMouseClicked(ImGuiMouseButton_Left) - && ImGui::IsWindowHovered(ImGuiHoveredFlags_RootWindow) ) - { - e.clear_selection(); - } } }