@ -7685,8 +7685,12 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool  pressed  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool  hovered  =  ItemHoverable ( bb ,  id ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Drag source doesn't report as hovered
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( hovered  & &  g . DragDropActive  & &  g . DragDropPayload . SourceId  = =  id )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        hovered  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Special mode for Drag and Drop where holding button pressed for a long time while dragging another item triggers the button
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( ( flags  &  ImGuiButtonFlags_PressedOnDragDropHold )  & &  g . DragDropActive  & &  ! ( g . DragDropSourceFlags  &  ImGuiDragDropFlags_SourceNoHoldToOpenOthers ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( g . DragDropActive  & &  ( flags  &  ImGuiButtonFlags_PressedOnDragDropHold )  & &  ! ( g . DragDropSourceFlags  &  ImGuiDragDropFlags_SourceNoHoldToOpenOthers ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( IsItemHovered ( ImGuiHoveredFlags_AllowWhenBlockedByActiveItem ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            hovered  =  true ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -11825,7 +11829,6 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        SameLine ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        TextUnformatted ( " Color " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        EndDragDropSource ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        hovered  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // Tooltip
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -13172,6 +13175,10 @@ bool ImGui::BeginDragDropSource(ImGuiDragDropFlags flags) 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( g . ActiveId  = =  source_id )  // Allow the underlying widget to display/return hovered during the mouse release frame, else we would get a flicker.
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                g . ActiveIdAllowOverlap  =  is_hovered ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        else   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            g . ActiveIdAllowOverlap  =  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( g . ActiveId  ! =  source_id )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return  false ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        source_parent_id  =  window - > IDStack . back ( ) ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -13655,8 +13662,8 @@ void ImGui::ShowMetricsWindow(bool* p_open) 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            const  char *  input_source_names [ ]  =  {  " None " ,  " Mouse " ,  " Nav " ,  " NavKeyboard " ,  " NavGamepad "  } ;  IM_ASSERT ( IM_ARRAYSIZE ( input_source_names )  = =  ImGuiInputSource_COUNT ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " HoveredWindow: '%s' " ,  g . HoveredWindow  ?  g . HoveredWindow - > Name  :  " NULL " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " HoveredRootWindow: '%s' " ,  g . HoveredRootWindow  ?  g . HoveredRootWindow - > Name  :  " NULL " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " HoveredId: 0x%08X/0x%08X (%.2f sec) " ,  g . HoveredId ,  g . HoveredIdPreviousFrame ,  g . HoveredIdTimer ) ;  // Data is "in-flight" so depending on when the Metrics window is called we may see current frame information or not
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " ActiveId: 0x%08X/0x%08X (%.2f sec), ActiveId Source: %s " ,  g . ActiveId ,  g . ActiveIdPreviousFrame ,  g . ActiveIdTimer ,  input_source_names [ g . ActiveIdSource ] ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " HoveredId: 0x%08X/0x%08X (%.2f sec), AllowOverlap: %d  " ,  g . HoveredId ,  g . HoveredIdPreviousFrame ,  g . HoveredIdTimer ,  g . HoveredIdAllowOverlap ) ;  // Data is "in-flight" so depending on when the Metrics window is called we may see current frame information or not
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " ActiveId: 0x%08X/0x%08X (%.2f sec), AllowOverlap: %d,  Source: %s " ,  g . ActiveId ,  g . ActiveIdPreviousFrame ,  g . ActiveIdTimer ,  g . ActiveIdAllowOverlap ,  input_source_names [ g . ActiveIdSource ] ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " ActiveIdWindow: '%s' " ,  g . ActiveIdWindow  ?  g . ActiveIdWindow - > Name  :  " NULL " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " MovingWindow: '%s' " ,  g . MovingWindow  ?  g . MovingWindow - > Name  :  " NULL " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            ImGui : : Text ( " NavWindow: '%s' " ,  g . NavWindow  ?  g . NavWindow - > Name  :  " NULL " ) ;