@ -5474,7 +5474,6 @@ static ImGuiWindow* CreateNewWindow(const char* name, ImGuiWindowFlags flags)
g . Windows . push_front ( window ) ; // Quite slow but rare and only once
else
g . Windows . push_back ( window ) ;
UpdateWindowInFocusOrderList ( window , true , window - > Flags ) ;
return window ;
}
@ -6087,8 +6086,6 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
const bool window_just_created = ( window = = NULL ) ;
if ( window_just_created )
window = CreateNewWindow ( name , flags ) ;
else
UpdateWindowInFocusOrderList ( window , window_just_created , flags ) ;
// Automatically disable manual moving/resizing when NoInputs is set
if ( ( flags & ImGuiWindowFlags_NoInputs ) = = ImGuiWindowFlags_NoInputs )
@ -6116,6 +6113,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
// Update Flags, LastFrameActive, BeginOrderXXX fields
if ( first_begin_of_the_frame )
{
UpdateWindowInFocusOrderList ( window , window_just_created , flags ) ;
window - > Flags = ( ImGuiWindowFlags ) flags ;
window - > LastFrameActive = current_frame ;
window - > LastTimeActive = ( float ) g . Time ;