BeginMenu: Fixed a bug where SetNextWindowXXX data before a BeginMenu() would not be cleared when the menu is not open. (#3030)

This commit is contained in:
Omar 2020-02-18 12:49:02 +01:00
parent 8836975dcf
commit ea3fc76038
2 changed files with 6 additions and 0 deletions

View File

@ -40,6 +40,8 @@ Other Changes:
branch pressing arrow keys while dragging a window from a tab could trigger an assert. (#3025) branch pressing arrow keys while dragging a window from a tab could trigger an assert. (#3025)
- ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced - ColorButton: Added ImGuiColorEditFlags_NoBorder flag to remove the border normally enforced
by default for standalone ColorButton. by default for standalone ColorButton.
- BeginMenu: Fixed a bug where SetNextWindowXXX data before a BeginMenu() would not be cleared
when the menu is not open. (#3030)
- InputText: Fixed password fields displaying ASCII spaces as blanks instead of using the '*' - InputText: Fixed password fields displaying ASCII spaces as blanks instead of using the '*'
glyph. (#2149, #515) glyph. (#2149, #515)
- Font: Fixed non-ASCII space occasionally creating unnecessary empty polygons. - Font: Fixed non-ASCII space occasionally creating unnecessary empty polygons.

View File

@ -6345,6 +6345,10 @@ bool ImGui::BeginMenu(const char* label, bool enabled)
flags |= ImGuiWindowFlags_ChildWindow; flags |= ImGuiWindowFlags_ChildWindow;
menu_is_open = BeginPopupEx(id, flags); // menu_is_open can be 'false' when the popup is completely clipped (e.g. zero size display) menu_is_open = BeginPopupEx(id, flags); // menu_is_open can be 'false' when the popup is completely clipped (e.g. zero size display)
} }
else
{
g.NextWindowData.ClearFlags(); // We behave like Begin() and need to consume those values
}
return menu_is_open; return menu_is_open;
} }