changeset 85983:fbeab07144ff

(w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from WM_APPCOMMAND.
author Jason Rumney <jasonr@gnu.org>
date Fri, 09 Nov 2007 12:19:55 +0000
parents 70564a109512
children 56690feabab9
files src/w32term.c
diffstat 1 files changed, 24 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32term.c	Fri Nov 09 12:19:21 2007 +0000
+++ b/src/w32term.c	Fri Nov 09 12:19:55 2007 +0000
@@ -3970,7 +3970,7 @@
   if (! GC_WINDOWP (bar->window))
     abort ();
 
-  emacs_event->kind = W32_SCROLL_BAR_CLICK_EVENT;
+  emacs_event->kind = SCROLL_BAR_CLICK_EVENT;
   emacs_event->code = 0;
   /* not really meaningful to distinguish up/down */
   emacs_event->modifiers = msg->dwModifiers;
@@ -4337,6 +4337,29 @@
 	    }
 	  break;
 
+        case WM_APPCOMMAND:
+	  f = x_window_to_frame (dpyinfo, msg.msg.hwnd);
+
+	  if (f && !f->iconified)
+	    {
+	      if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
+		  && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window))
+		{
+		  clear_mouse_face (dpyinfo);
+		  dpyinfo->mouse_face_hidden = 1;
+		}
+
+	      if (temp_index == sizeof temp_buffer / sizeof (short))
+		temp_index = 0;
+	      temp_buffer[temp_index++] = msg.msg.wParam;
+	      inev.kind = MULTIMEDIA_KEY_EVENT;
+	      inev.code = GET_APPCOMMAND_LPARAM(msg.msg.lParam);
+	      inev.modifiers = msg.dwModifiers;
+	      XSETFRAME (inev.frame_or_window, f);
+	      inev.timestamp = msg.msg.time;
+	    }
+	  break;
+          
 	case WM_MOUSEMOVE:
 	  /* Ignore non-movement.  */
 	  {