2
0
Эх сурвалжийг харах

Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)

Amend f37f6f6
ocornut 1 жил өмнө
parent
commit
3af739a2d1
2 өөрчлөгдсөн 3 нэмэгдсэн , 1 устгасан
  1. 2 0
      docs/CHANGELOG.txt
  2. 1 1
      imgui.cpp

+ 2 - 0
docs/CHANGELOG.txt

@@ -41,6 +41,8 @@ HOW TO UPDATE?
 
 
 Other changes:
 Other changes:
 
 
+- Menus, Popups: fixed menus and popups with child window flag erroneously not displaying
+  a scrollbar when contents is over parent viewport size. (#7287, #7063) [@ZingBallyhoo]
 - Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore
 - Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore
   a wrong viewport if none was initially set.
   a wrong viewport if none was initially set.
 
 

+ 1 - 1
imgui.cpp

@@ -5755,7 +5755,7 @@ static ImVec2 CalcWindowAutoFitSize(ImGuiWindow* window, const ImVec2& size_cont
     {
     {
         // Maximum window size is determined by the viewport size or monitor size
         // Maximum window size is determined by the viewport size or monitor size
         ImVec2 size_min = CalcWindowMinSize(window);
         ImVec2 size_min = CalcWindowMinSize(window);
-        ImVec2 size_max = (window->Flags & ImGuiWindowFlags_ChildWindow) ? ImVec2(FLT_MAX, FLT_MAX) : ImGui::GetMainViewport()->WorkSize - style.DisplaySafeAreaPadding * 2.0f;
+        ImVec2 size_max = ((window->Flags & ImGuiWindowFlags_ChildWindow) && !(window->Flags & ImGuiWindowFlags_Popup)) ? ImVec2(FLT_MAX, FLT_MAX) : ImGui::GetMainViewport()->WorkSize - style.DisplaySafeAreaPadding * 2.0f;
         ImVec2 size_auto_fit = ImClamp(size_desired, size_min, size_max);
         ImVec2 size_auto_fit = ImClamp(size_desired, size_min, size_max);
 
 
         // When the window cannot fit all contents (either because of constraints, either because screen is too small),
         // When the window cannot fit all contents (either because of constraints, either because screen is too small),