@@ -7573,36 +7573,38 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
75737573 // - Using SetNextWindowSize() overrides ImGuiWindowFlags_AlwaysAutoResize, so it can be used on tooltips/popups, etc.
75747574 // - We still process initial auto-fit on collapsed windows to get a window width, but otherwise don't honor ImGuiWindowFlags_AlwaysAutoResize when collapsed.
75757575 // - Auto-fit may only grow window during the first few frames.
7576- const bool size_auto_fit_x_always = !window_size_x_set_by_api && (flags & ImGuiWindowFlags_AlwaysAutoResize) && !window->Collapsed;
7577- const bool size_auto_fit_y_always = !window_size_y_set_by_api && (flags & ImGuiWindowFlags_AlwaysAutoResize) && !window->Collapsed;
7578- const bool size_auto_fit_x_current = !window_size_x_set_by_api && (window->AutoFitFramesX > 0);
7579- const bool size_auto_fit_y_current = !window_size_y_set_by_api && (window->AutoFitFramesY > 0);
7580- int size_auto_fit_mask = 0;
7581- if (size_auto_fit_x_always || size_auto_fit_x_current)
7582- size_auto_fit_mask |= (1 << ImGuiAxis_X);
7583- if (size_auto_fit_y_always || size_auto_fit_y_current)
7584- size_auto_fit_mask |= (1 << ImGuiAxis_Y);
7585- const ImVec2 size_auto_fit = CalcWindowAutoFitSize(window, window->ContentSizeIdeal, size_auto_fit_mask);
7586-
7587- const ImVec2 old_size = window->SizeFull;
7588- if (size_auto_fit_x_always || size_auto_fit_x_current)
75897576 {
7590- if (size_auto_fit_x_always)
7591- window->SizeFull.x = size_auto_fit.x;
7592- else
7593- window->SizeFull.x = window->AutoFitOnlyGrows ? ImMax(window->SizeFull.x, size_auto_fit.x) : size_auto_fit.x;
7594- use_current_size_for_scrollbar_x = true;
7595- }
7596- if (size_auto_fit_y_always || size_auto_fit_y_current)
7597- {
7598- if (size_auto_fit_y_always)
7599- window->SizeFull.y = size_auto_fit.y;
7600- else
7601- window->SizeFull.y = window->AutoFitOnlyGrows ? ImMax(window->SizeFull.y, size_auto_fit.y) : size_auto_fit.y;
7602- use_current_size_for_scrollbar_y = true;
7577+ const bool size_auto_fit_x_always = !window_size_x_set_by_api && (flags & ImGuiWindowFlags_AlwaysAutoResize) && !window->Collapsed;
7578+ const bool size_auto_fit_y_always = !window_size_y_set_by_api && (flags & ImGuiWindowFlags_AlwaysAutoResize) && !window->Collapsed;
7579+ const bool size_auto_fit_x_current = !window_size_x_set_by_api && (window->AutoFitFramesX > 0);
7580+ const bool size_auto_fit_y_current = !window_size_y_set_by_api && (window->AutoFitFramesY > 0);
7581+ int size_auto_fit_mask = 0;
7582+ if (size_auto_fit_x_always || size_auto_fit_x_current)
7583+ size_auto_fit_mask |= (1 << ImGuiAxis_X);
7584+ if (size_auto_fit_y_always || size_auto_fit_y_current)
7585+ size_auto_fit_mask |= (1 << ImGuiAxis_Y);
7586+ const ImVec2 size_auto_fit = CalcWindowAutoFitSize(window, window->ContentSizeIdeal, size_auto_fit_mask);
7587+
7588+ const ImVec2 old_size = window->SizeFull;
7589+ if (size_auto_fit_x_always || size_auto_fit_x_current)
7590+ {
7591+ if (size_auto_fit_x_always)
7592+ window->SizeFull.x = size_auto_fit.x;
7593+ else
7594+ window->SizeFull.x = window->AutoFitOnlyGrows ? ImMax(window->SizeFull.x, size_auto_fit.x) : size_auto_fit.x;
7595+ use_current_size_for_scrollbar_x = true;
7596+ }
7597+ if (size_auto_fit_y_always || size_auto_fit_y_current)
7598+ {
7599+ if (size_auto_fit_y_always)
7600+ window->SizeFull.y = size_auto_fit.y;
7601+ else
7602+ window->SizeFull.y = window->AutoFitOnlyGrows ? ImMax(window->SizeFull.y, size_auto_fit.y) : size_auto_fit.y;
7603+ use_current_size_for_scrollbar_y = true;
7604+ }
7605+ if (old_size.x != window->SizeFull.x || old_size.y != window->SizeFull.y)
7606+ MarkIniSettingsDirty(window);
76037607 }
7604- if (old_size.x != window->SizeFull.x || old_size.y != window->SizeFull.y)
7605- MarkIniSettingsDirty(window);
76067608
76077609 // Apply minimum/maximum window size constraints and final size
76087610 window->SizeFull = CalcWindowSizeAfterConstraint(window, window->SizeFull);
0 commit comments