diff src/w32menu.c @ 30178:6d045b9631ad

(menubar_selection_callback): Use the `arg' slot of input events to queue additional information, instead of consing.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 13 Jul 2000 14:07:57 +0000
parents e75b1b3a94f4
children 4a3b87cc6f04
line wrap: on
line diff
--- a/src/w32menu.c	Thu Jul 13 14:07:45 2000 +0000
+++ b/src/w32menu.c	Thu Jul 13 14:07:57 2000 +0000
@@ -1002,27 +1002,31 @@
 	      Lisp_Object frame;
 
 	      XSETFRAME (frame, f);
-	      buf.kind = menu_bar_event;
-	      buf.frame_or_window = Fcons (frame, Fcons (Qmenu_bar, Qnil));
+	      buf.kind = MENU_BAR_EVENT;
+	      buf.frame_or_window = frame;
+	      buf.arg = frame;
 	      kbd_buffer_store_event (&buf);
 
 	      for (j = 0; j < submenu_depth; j++)
 		if (!NILP (subprefix_stack[j]))
 		  {
-		    buf.kind = menu_bar_event;
-		    buf.frame_or_window = Fcons (frame, subprefix_stack[j]);
+		    buf.kind = MENU_BAR_EVENT;
+		    buf.frame_or_window = frame;
+		    buf.arg = subprefix_stack[j];
 		    kbd_buffer_store_event (&buf);
 		  }
 
 	      if (!NILP (prefix))
 		{
-		  buf.kind = menu_bar_event;
-		  buf.frame_or_window = Fcons (frame, prefix);
+		  buf.kind = MENU_BAR_EVENT;
+		  buf.frame_or_window = frame;
+		  buf.arg = prefix;
 		  kbd_buffer_store_event (&buf);
 		}
 
-	      buf.kind = menu_bar_event;
-	      buf.frame_or_window = Fcons (frame, entry);
+	      buf.kind = MENU_BAR_EVENT;
+	      buf.frame_or_window = frame;
+	      buf.arg = entry;
 	      kbd_buffer_store_event (&buf);
 
 	      return;