@ -3596,15 +3596,15 @@ void ImGui::UpdatePlatformWindows()
// Update title bar
// Update title bar
const char * title_begin = viewport - > Window - > Name ;
const char * title_begin = viewport - > Window - > Name ;
const char * title_end = ImGui : : FindRenderedTextEnd ( title_begin ) ;
char * title_end = ( char * ) ImGui : : FindRenderedTextEnd ( title_begin ) ;
const ImGuiID title_hash = ImHash ( title_begin , ( int ) ( title_end - title_begin ) ) ;
const ImGuiID title_hash = ImHash ( title_begin , ( int ) ( title_end - title_begin ) ) ;
if ( viewport - > LastNameHash ! = title_hash )
if ( viewport - > LastNameHash ! = title_hash )
{
{
viewport - > LastNameHash = title_hash ;
viewport - > LastNameHash = title_hash ;
char * title_displayed = ImStrdup ( viewport - > Window - > Name ) ;
char title_end_backup_c = * title_end ;
title_displayed [ title_end - title_begin ] = 0 ;
* title_end = 0 ; // Cut existing buffer short instead of doing an alloc/free
g . PlatformIO . Platform_SetWindowTitle ( viewport , title_ displayed ) ;
g . PlatformIO . Platform_SetWindowTitle ( viewport , title_ begin ) ;
ImGui : : MemFree ( title_displayed ) ;
* title_end = title_end_backup_c ;
}
}
// Update alpha
// Update alpha
@ -6422,6 +6422,13 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
window = CreateNewWindow ( name , size_on_first_use , flags ) ;
window = CreateNewWindow ( name , size_on_first_use , flags ) ;
}
}
// Update name when it changes (which can only happen with the "###" operator), but only if it is meant to be displayed to the end user, else there is no point.
if ( ! window_just_created & & window - > Viewport & & window - > Viewport - > Window = = window & & strcmp ( name , window - > Name ) ! = 0 )
{
IM_DELETE ( window - > Name ) ;
window - > Name = ImStrdup ( name ) ;
}
// Automatically disable manual moving/resizing when NoInputs is set
// Automatically disable manual moving/resizing when NoInputs is set
if ( flags & ImGuiWindowFlags_NoInputs )
if ( flags & ImGuiWindowFlags_NoInputs )
flags | = ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize ;
flags | = ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize ;