@ -9230,14 +9230,15 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF
// Peak into expected window size so we can position it
if ( ImGuiWindow * popup_window = FindWindowByName ( name ) )
{
ImVec2 size_contents = CalcSizeContents ( popup_window ) ;
ImVec2 size_expected = CalcSizeAfterConstraint ( popup_window , CalcSizeAutoFit ( popup_window , size_contents ) ) ;
if ( flags & ImGuiComboFlags_PopupAlignLeft )
popup_window - > AutoPosLastDirection = ImGuiDir_Left ;
ImVec2 pos = FindBestWindowPosForPopup ( frame_bb . GetBL ( ) , size_expected , & popup_window - > AutoPosLastDirection , frame_bb , ImGuiPopupPositionPolicy_ComboBox ) ;
SetNextWindowPos ( pos ) ;
}
if ( popup_window - > WasActive )
{
ImVec2 size_contents = CalcSizeContents ( popup_window ) ;
ImVec2 size_expected = CalcSizeAfterConstraint ( popup_window , CalcSizeAutoFit ( popup_window , size_contents ) ) ;
if ( flags & ImGuiComboFlags_PopupAlignLeft )
popup_window - > AutoPosLastDirection = ImGuiDir_Left ;
ImVec2 pos = FindBestWindowPosForPopup ( frame_bb . GetBL ( ) , size_expected , & popup_window - > AutoPosLastDirection , frame_bb , ImGuiPopupPositionPolicy_ComboBox ) ;
SetNextWindowPos ( pos ) ;
}
ImGuiWindowFlags window_flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_Popup | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings ;
if ( ! Begin ( name , NULL , window_flags ) )