Merge pull request #1661 from Azaezel/alpha41/clickclack

fix clicking a treeview element tripping expand/collapse
This commit is contained in:
Brian Roberts 2026-01-21 18:59:03 -06:00 committed by GitHub
commit d2b63f73a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3389,7 +3389,7 @@ void GuiTreeViewCtrl::onMouseDown(const GuiEvent & event)
mPossibleRenameItem = NULL; mPossibleRenameItem = NULL;
mRenamingItem = NULL; mRenamingItem = NULL;
mTempItem = NULL; mTempItem = NULL;
bool wasSelected = isSelected(item);
// //
if( event.modifier & SI_MULTISELECT ) if( event.modifier & SI_MULTISELECT )
{ {
@ -3473,8 +3473,7 @@ void GuiTreeViewCtrl::onMouseDown(const GuiEvent & event)
else if ( !hitFlags.test(OnImage) ) else if ( !hitFlags.test(OnImage) )
{ {
mTempItem = item; mTempItem = item;
bool wasSelected = isSelected( item );
bool multiSelect = getSelectedItemsCount() > 1; bool multiSelect = getSelectedItemsCount() > 1;
if( !wasSelected || !multiSelect ) if( !wasSelected || !multiSelect )
@ -3520,7 +3519,7 @@ void GuiTreeViewCtrl::onMouseDown(const GuiEvent & event)
return; return;
// //
if ( mFullRowSelect || hitFlags.test( OnImage ) ) if ((mFullRowSelect || hitFlags.test(OnImage)) && wasSelected)
{ {
item->setExpanded(!item->isExpanded()); item->setExpanded(!item->isExpanded());
if( !item->isInspectorData() && item->mState.test(Item::VirtualParent) ) if( !item->isInspectorData() && item->mState.test(Item::VirtualParent) )