aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-07-13 14:07:57 +0000
committerGerd Moellmann2000-07-13 14:07:57 +0000
commit205012787b94d9ea2e945afffa38d616f37d9ae2 (patch)
tree05526ae3ec15a0d6278c25f3c158439fa60d10ea /src
parentda8f73681d7947d4f100a69adefaa18a8c032f22 (diff)
downloademacs-205012787b94d9ea2e945afffa38d616f37d9ae2.tar.gz
emacs-205012787b94d9ea2e945afffa38d616f37d9ae2.zip
(menubar_selection_callback): Use the `arg' slot of
input events to queue additional information, instead of consing.
Diffstat (limited to 'src')
-rw-r--r--src/w32menu.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/w32menu.c b/src/w32menu.c
index 8a65c0b635b..995c3ef254b 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -1002,27 +1002,31 @@ menubar_selection_callback (FRAME_PTR f, void * client_data)
1002 Lisp_Object frame; 1002 Lisp_Object frame;
1003 1003
1004 XSETFRAME (frame, f); 1004 XSETFRAME (frame, f);
1005 buf.kind = menu_bar_event; 1005 buf.kind = MENU_BAR_EVENT;
1006 buf.frame_or_window = Fcons (frame, Fcons (Qmenu_bar, Qnil)); 1006 buf.frame_or_window = frame;
1007 buf.arg = frame;
1007 kbd_buffer_store_event (&buf); 1008 kbd_buffer_store_event (&buf);
1008 1009
1009 for (j = 0; j < submenu_depth; j++) 1010 for (j = 0; j < submenu_depth; j++)
1010 if (!NILP (subprefix_stack[j])) 1011 if (!NILP (subprefix_stack[j]))
1011 { 1012 {
1012 buf.kind = menu_bar_event; 1013 buf.kind = MENU_BAR_EVENT;
1013 buf.frame_or_window = Fcons (frame, subprefix_stack[j]); 1014 buf.frame_or_window = frame;
1015 buf.arg = subprefix_stack[j];
1014 kbd_buffer_store_event (&buf); 1016 kbd_buffer_store_event (&buf);
1015 } 1017 }
1016 1018
1017 if (!NILP (prefix)) 1019 if (!NILP (prefix))
1018 { 1020 {
1019 buf.kind = menu_bar_event; 1021 buf.kind = MENU_BAR_EVENT;
1020 buf.frame_or_window = Fcons (frame, prefix); 1022 buf.frame_or_window = frame;
1023 buf.arg = prefix;
1021 kbd_buffer_store_event (&buf); 1024 kbd_buffer_store_event (&buf);
1022 } 1025 }
1023 1026
1024 buf.kind = menu_bar_event; 1027 buf.kind = MENU_BAR_EVENT;
1025 buf.frame_or_window = Fcons (frame, entry); 1028 buf.frame_or_window = frame;
1029 buf.arg = entry;
1026 kbd_buffer_store_event (&buf); 1030 kbd_buffer_store_event (&buf);
1027 1031
1028 return; 1032 return;