* src/w32menu.c (w32_menu_show): Use SAFE_ALLOCA. (Bug#55068)
This commit is contained in:
parent
aab560f0c1
commit
b3e4526f21
1 changed files with 9 additions and 4 deletions
|
@ -556,10 +556,8 @@ w32_menu_show (struct frame *f, int x, int y, int menuflags,
|
|||
HMENU menu;
|
||||
POINT pos;
|
||||
widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0;
|
||||
widget_value **submenu_stack
|
||||
= (widget_value **) alloca (menu_items_used * sizeof (widget_value *));
|
||||
Lisp_Object *subprefix_stack
|
||||
= (Lisp_Object *) alloca (menu_items_used * word_size);
|
||||
widget_value **submenu_stack;
|
||||
Lisp_Object *subprefix_stack;
|
||||
int submenu_depth = 0;
|
||||
bool first_pane;
|
||||
|
||||
|
@ -574,6 +572,11 @@ w32_menu_show (struct frame *f, int x, int y, int menuflags,
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
USE_SAFE_ALLOCA;
|
||||
|
||||
submenu_stack = SAFE_ALLOCA (menu_items_used * sizeof (widget_value *));
|
||||
subprefix_stack = SAFE_ALLOCA (menu_items_used * word_size);
|
||||
|
||||
block_input ();
|
||||
|
||||
/* Create a tree of widget_value objects
|
||||
|
@ -816,6 +819,7 @@ w32_menu_show (struct frame *f, int x, int y, int menuflags,
|
|||
entry = Fcons (subprefix_stack[j], entry);
|
||||
}
|
||||
unblock_input ();
|
||||
SAFE_FREE ();
|
||||
return entry;
|
||||
}
|
||||
i += MENU_ITEMS_ITEM_LENGTH;
|
||||
|
@ -830,6 +834,7 @@ w32_menu_show (struct frame *f, int x, int y, int menuflags,
|
|||
}
|
||||
|
||||
unblock_input ();
|
||||
SAFE_FREE ();
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue