@ -7044,14 +7044,31 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ImGuiButtonFlags  button_flags  =  ImGuiButtonFlags_NoKeyModifiers  |  ( ( flags  &  ImGuiTreeNodeFlags_AllowOverlapMode )  ?  ImGuiButtonFlags_AllowOverlapMode  :  0 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( flags  &  ImGuiTreeNodeFlags_OpenOnDoubleClick )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        button_flags  | =  ImGuiButtonFlags_PressedOnDoubleClick  |  ( ( flags  &  ImGuiTreeNodeFlags_OpenOnArrow )  ?  ImGuiButtonFlags_PressedOnClickRelease  :  0 ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool  hovered ,  held ,  pressed  =  ButtonBehavior ( interact_bb ,  id ,  & hovered ,  & held ,  button_flags ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( pressed  & &  ! ( flags  &  ImGuiTreeNodeFlags_Leaf ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( ! ( flags  &  ImGuiTreeNodeFlags_Leaf ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        bool  toggled  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( pressed )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        bool  toggled  =  ! ( flags  &  ( ImGuiTreeNodeFlags_OpenOnArrow  |  ImGuiTreeNodeFlags_OpenOnDoubleClick ) )  | |  ( g . NavActivateId  = =  id ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             toggled  =  ! ( flags  &  ( ImGuiTreeNodeFlags_OpenOnArrow  |  ImGuiTreeNodeFlags_OpenOnDoubleClick ) )  | |  ( g . NavActivateId  = =  id ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( flags  &  ImGuiTreeNodeFlags_OpenOnArrow )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                toggled  | =  IsMouseHoveringRect ( interact_bb . Min ,  ImVec2 ( interact_bb . Min . x  +  text_offset_x ,  interact_bb . Max . y ) )  & &  ( ! g . NavDisableMouseHover ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( flags  &  ImGuiTreeNodeFlags_OpenOnDoubleClick )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                toggled  | =  g . IO . MouseDoubleClicked [ 0 ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( g . NavId  = =  id  & &  g . NavMoveRequest  & &  g . NavMoveDir  = =  ImGuiDir_Left  & &  is_open )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            toggled  =  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . NavMoveRequest  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( g . NavId  = =  id  & &  g . NavMoveRequest  & &  g . NavMoveDir  = =  ImGuiDir_Right  & &  ! is_open )  // If there's something upcoming on the line we may want to give it the priority?
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            toggled  =  true ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . NavMoveRequest  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( toggled )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            is_open  =  ! is_open ;