Mercurial > emacs
comparison src/w32menu.c @ 95715:082ea596d318
(enum button_type, widget_value, local_heap, local_alloc):
(local_free, malloc_widget_value, free_widget_value):
(MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE):
(MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION):
(MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP):
(MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
(menu_items, menu_items_allocated, menu_items_used):
(menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
(init_menu_items, finish_menu_items, discard_menu_items):
(grow_menu_items, push_submenu_start, push_submenu_end):
(push_left_right_boundary, push_menu_pane, push_menu_item,
(keymap_panes, single_keymap_panes, list_of_panes, list_of_items):
(free_menubar_widget_tree_value, parse_single_submenu):
(update_submenu_strings): Remove functions.
(xmalloc_widget_value): Remove and declare extern.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Mon, 09 Jun 2008 12:57:59 +0000 |
parents | f8644ed7e357 |
children | 7be18a029363 |
comparison
equal
deleted
inserted
replaced
95714:51e7d268aef8 | 95715:082ea596d318 |
---|---|
618 /* Free memory used by owner-drawn and help-echo strings. */ | 618 /* Free memory used by owner-drawn and help-echo strings. */ |
619 w32_free_menu_strings (FRAME_W32_WINDOW (f)); | 619 w32_free_menu_strings (FRAME_W32_WINDOW (f)); |
620 f->output_data.w32->menubar_active = 0; | 620 f->output_data.w32->menubar_active = 0; |
621 } | 621 } |
622 | 622 |
623 /* This recursively calls free_widget_value on the tree of widgets. | |
624 It must free all data that was malloc'ed for these widget_values. | |
625 In Emacs, many slots are pointers into the data of Lisp_Strings, and | |
626 must be left alone. */ | |
627 | |
628 void | |
629 free_menubar_widget_value_tree (wv) | |
630 widget_value *wv; | |
631 { | |
632 if (! wv) return; | |
633 | |
634 wv->name = wv->value = wv->key = (char *) 0xDEADBEEF; | |
635 | |
636 if (wv->contents && (wv->contents != (widget_value*)1)) | |
637 { | |
638 free_menubar_widget_value_tree (wv->contents); | |
639 wv->contents = (widget_value *) 0xDEADBEEF; | |
640 } | |
641 if (wv->next) | |
642 { | |
643 free_menubar_widget_value_tree (wv->next); | |
644 wv->next = (widget_value *) 0xDEADBEEF; | |
645 } | |
646 BLOCK_INPUT; | |
647 free_widget_value (wv); | |
648 UNBLOCK_INPUT; | |
649 } | |
650 | 623 |
651 /* Set up data i menu_items for a menu bar item | 624 /* Set up data i menu_items for a menu bar item |
652 whose event type is ITEM_KEY (with string ITEM_NAME) | 625 whose event type is ITEM_KEY (with string ITEM_NAME) |
653 and whose contents come from the list of keymaps MAPS. */ | 626 and whose contents come from the list of keymaps MAPS. */ |
654 | 627 |