Made menu IDs on Windows global across all menus. This is what we actually intended...

This commit is contained in:
Pietro Gagliardi 2015-04-24 15:45:58 -04:00
parent 88bbdc4805
commit 7a1634a387
1 changed files with 3 additions and 6 deletions

View File

@ -7,6 +7,7 @@ static struct menu *menus = NULL;
static uintmax_t len = 0; static uintmax_t len = 0;
static uintmax_t cap = 0; static uintmax_t cap = 0;
static BOOL menusFinalized = FALSE; static BOOL menusFinalized = FALSE;
static WORD curID = 100; // start somewhere safe
struct menu { struct menu {
uiMenu m; uiMenu m;
@ -14,7 +15,6 @@ struct menu {
struct menuItem *items; struct menuItem *items;
uintmax_t len; uintmax_t len;
uintmax_t cap; uintmax_t cap;
WORD curID;
}; };
struct menuItem { struct menuItem {
@ -143,8 +143,8 @@ static uiMenuItem *newItem(struct menu *m, int type, const char *name)
} }
if (item->type != typeSeparator) { if (item->type != typeSeparator) {
item->id = m->curID; item->id = curID;
m->curID++; curID++;
} }
// TODO this shouldn't be necessary, but uiRealloc() doesn't yet zero out new bytes // TODO this shouldn't be necessary, but uiRealloc() doesn't yet zero out new bytes
else else
@ -228,9 +228,6 @@ uiMenu *uiNewMenu(const char *name)
m->len = 0; m->len = 0;
m->cap = 0; m->cap = 0;
// start somewhere safe
m->curID = 100;
uiMenu(m)->AppendItem = menuAppendItem; uiMenu(m)->AppendItem = menuAppendItem;
uiMenu(m)->AppendCheckItem = menuAppendCheckItem; uiMenu(m)->AppendCheckItem = menuAppendCheckItem;
uiMenu(m)->AppendQuitItem = menuAppendQuitItem; uiMenu(m)->AppendQuitItem = menuAppendQuitItem;