There was a memory leak:
Unfreed: 1082, , 8 bytes
Unfreed: 1083, , 876 bytes
In original and txesmi's examples, so I had to add this:
void on_exit_event()
{
sys_free(ImGui->lpVtbl);
sys_free(ImGui);
}
void main()
{
on_exit = on_exit_event;
....
}
Also, there is a typo (no space between ImGuiWindowFlags_AlwaysUseWindowPadding and 1) in imgui_enums.h, in line 35.
#define ImGuiWindowFlags_AlwaysUseWindowPadding1 << 16 // Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windowsbecause more convenient)