Made menu IDs on Windows global across all menus. This is what we actually intended...
This commit is contained in:
parent
88bbdc4805
commit
7a1634a387
|
@ -7,6 +7,7 @@ static struct menu *menus = NULL;
|
|||
static uintmax_t len = 0;
|
||||
static uintmax_t cap = 0;
|
||||
static BOOL menusFinalized = FALSE;
|
||||
static WORD curID = 100; // start somewhere safe
|
||||
|
||||
struct menu {
|
||||
uiMenu m;
|
||||
|
@ -14,7 +15,6 @@ struct menu {
|
|||
struct menuItem *items;
|
||||
uintmax_t len;
|
||||
uintmax_t cap;
|
||||
WORD curID;
|
||||
};
|
||||
|
||||
struct menuItem {
|
||||
|
@ -143,8 +143,8 @@ static uiMenuItem *newItem(struct menu *m, int type, const char *name)
|
|||
}
|
||||
|
||||
if (item->type != typeSeparator) {
|
||||
item->id = m->curID;
|
||||
m->curID++;
|
||||
item->id = curID;
|
||||
curID++;
|
||||
}
|
||||
// TODO this shouldn't be necessary, but uiRealloc() doesn't yet zero out new bytes
|
||||
else
|
||||
|
@ -228,9 +228,6 @@ uiMenu *uiNewMenu(const char *name)
|
|||
m->len = 0;
|
||||
m->cap = 0;
|
||||
|
||||
// start somewhere safe
|
||||
m->curID = 100;
|
||||
|
||||
uiMenu(m)->AppendItem = menuAppendItem;
|
||||
uiMenu(m)->AppendCheckItem = menuAppendCheckItem;
|
||||
uiMenu(m)->AppendQuitItem = menuAppendQuitItem;
|
||||
|
|
Loading…
Reference in New Issue