@ -4560,10 +4560,12 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) 
			
		
	
		
			
				
					    // When reusing window again multiple times a frame, just append content (don't need to setup again)
   
			
		
	
		
			
				
					    if  ( first_begin_of_the_frame )   
			
		
	
		
			
				
					    {   
			
		
	
		
			
				
					        const  bool  is_pinned_child_tooltip  =  ( flags  &  ImGuiWindowFlags_ChildWindow )  & &  ( flags  &  ImGuiWindowFlags_Tooltip ) ;  // FIXME-WIP: Undocumented behavior of Child+Tooltip for pinned tooltip (#1345)
   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        // Initialize
   
			
		
	
		
			
				
					        window - > ParentWindow  =  parent_window ;   
			
		
	
		
			
				
					        window - > RootWindow  =  window - > RootNonPopupWindow  =  window ;   
			
		
	
		
			
				
					        if  ( parent_window  & &  ( flags  &  ImGuiWindowFlags_ChildWindow ) )   
			
		
	
		
			
				
					        if  ( parent_window  & &  ( flags  &  ImGuiWindowFlags_ChildWindow )  & &  ! is_pinned_child_tooltip  )   
			
		
	
		
			
				
					            window - > RootWindow  =  parent_window - > RootWindow ;   
			
		
	
		
			
				
					        if  ( parent_window  & &  ! ( flags  &  ImGuiWindowFlags_Modal )  & &  ( flags  &  ( ImGuiWindowFlags_ChildWindow  |  ImGuiWindowFlags_Popup ) ) )   
			
		
	
		
			
				
					            window - > RootNonPopupWindow  =  parent_window - > RootNonPopupWindow ;   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -4681,8 +4683,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) 
			
		
	
		
			
				
					        {   
			
		
	
		
			
				
					            window - > BeginOrderWithinParent  =  parent_window - > DC . ChildWindows . Size ;   
			
		
	
		
			
				
					            parent_window - > DC . ChildWindows . push_back ( window ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            if  ( ! ( flags  &  ImGuiWindowFlags_Popup )  & &  ! window_pos_set_by_api )   
			
		
	
		
			
				
					            if  ( ! ( flags  &  ImGuiWindowFlags_Popup )  & &  ! window_pos_set_by_api  & &  ! is_pinned_child_tooltip )   
			
		
	
		
			
				
					                window - > Pos  =  window - > PosFloat  =  parent_window - > DC . CursorPos ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -4713,7 +4714,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) 
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        // Position tooltip (always follows mouse)
   
			
		
	
		
			
				
					        if  ( ( flags  &  ImGuiWindowFlags_Tooltip )  ! =  0  & &  ! window_pos_set_by_api )   
			
		
	
		
			
				
					        if  ( ( flags  &  ImGuiWindowFlags_Tooltip )  ! =  0  & &  ! window_pos_set_by_api  & &  ! is_pinned_child_tooltip  )   
			
		
	
		
			
				
					        {   
			
		
	
		
			
				
					            ImVec2  ref_pos  =  g . IO . MousePos ;   
			
		
	
		
			
				
					            ImRect  rect_to_avoid ( ref_pos . x  -  16 ,  ref_pos . y  -  8 ,  ref_pos . x  +  24 ,  ref_pos . y  +  24 ) ;  // FIXME: Completely hard-coded. Store boxes in mouse cursor data? Scale? Center on cursor hit-point?
   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -4771,7 +4772,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) 
			
		
	
		
			
				
					        window - > DrawList - > Flags  =  ( g . Style . AntiAliasedLines  ?  ImDrawListFlags_AntiAliasedLines  :  0 )  |  ( g . Style . AntiAliasedFill  ?  ImDrawListFlags_AntiAliasedFill  :  0 ) ;   
			
		
	
		
			
				
					        window - > DrawList - > PushTextureID ( g . Font - > ContainerAtlas - > TexID ) ;   
			
		
	
		
			
				
					        ImRect  fullscreen_rect ( GetVisibleRect ( ) ) ;   
			
		
	
		
			
				
					        if  ( ( flags  &  ImGuiWindowFlags_ChildWindow )  & &  ! ( flags  &  ImGuiWindowFlags_Popup ) )   
			
		
	
		
			
				
					        if  ( ( flags  &  ImGuiWindowFlags_ChildWindow )  & &  ! ( flags  &  ImGuiWindowFlags_Popup )  & &  ! is_pinned_child_tooltip  )   
			
		
	
		
			
				
					            PushClipRect ( parent_window - > ClipRect . Min ,  parent_window - > ClipRect . Max ,  true ) ;   
			
		
	
		
			
				
					        else   
			
		
	
		
			
				
					            PushClipRect ( fullscreen_rect . Min ,  fullscreen_rect . Max ,  true ) ;