]> code.delx.au - gnu-emacs/commitdiff
(w32_handle_tool_bar_click): Detect up and down events
authorJason Rumney <jasonr@gnu.org>
Sat, 23 Mar 2002 00:33:22 +0000 (00:33 +0000)
committerJason Rumney <jasonr@gnu.org>
Sat, 23 Mar 2002 00:33:22 +0000 (00:33 +0000)
correctly.  Do not pass up_modifier to keyboard buffer.

src/w32term.c

index 01e5975c75e6077d521fac6e34f3d7ca85a3fcdd..3edfba83919f63d970d808ce082b28b61335bdb4 100644 (file)
@@ -7064,7 +7064,7 @@ w32_handle_tool_bar_click (f, button_event)
   if (NILP (enabled_p))
     return;
   
-  if (button_event->kind == mouse_click)
+  if (button_event->modifiers & down_modifier)
     {
       /* Show item in pressed state.  */
       show_mouse_face (dpyinfo, DRAW_IMAGE_SUNKEN);
@@ -7091,7 +7091,8 @@ w32_handle_tool_bar_click (f, button_event)
       event.kind = TOOL_BAR_EVENT;
       event.frame_or_window = frame;
       event.arg = key;
-      event.modifiers = button_event->modifiers;
+      /* The keyboard buffer doesn't like the up modifier being set.  */
+      event.modifiers = button_event->modifiers & ~up_modifier;
       kbd_buffer_store_event (&event);
       last_tool_bar_item = -1;
     }