|
@@ -3951,7 +3951,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us
|
|
|
window_is_new = true;
|
|
|
}
|
|
|
|
|
|
- const int current_frame = ImGui::GetFrameCount();
|
|
|
+ const int current_frame = g.FrameCount;
|
|
|
const bool first_begin_of_the_frame = (window->LastFrameActive != current_frame);
|
|
|
if (first_begin_of_the_frame)
|
|
|
window->Flags = (ImGuiWindowFlags)flags;
|
|
@@ -3965,8 +3965,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us
|
|
|
CheckStacksSize(window, true);
|
|
|
IM_ASSERT(parent_window != NULL || !(flags & ImGuiWindowFlags_ChildWindow));
|
|
|
|
|
|
- // FIXME: This is currently true if we call Begin() multiple times in a row on a same window.
|
|
|
- bool window_just_activated_by_user = (window->LastFrameActive != current_frame - 1); // Not using !WasActive because the implicit "Debug" window would always toggle off->on
|
|
|
+ bool window_just_activated_by_user = (window->LastFrameActive < current_frame - 1); // Not using !WasActive because the implicit "Debug" window would always toggle off->on
|
|
|
if (flags & ImGuiWindowFlags_Popup)
|
|
|
{
|
|
|
ImGuiPopupRef& popup_ref = g.OpenPopupStack[g.CurrentPopupStack.Size];
|