]> code.delx.au - gnu-emacs/blobdiff - src/w32term.c
Merge from emacs--devo--0
[gnu-emacs] / src / w32term.c
index aae84473532ae5671e81ad1d24544969a88e5b21..93e81b7bdb4713859692b4e8839cd37725660df3 100644 (file)
@@ -2769,7 +2769,6 @@ x_draw_stretch_glyph_string (s)
      struct glyph_string *s;
 {
   xassert (s->first_glyph->type == STRETCH_GLYPH);
-  s->stippled_p = s->face->stipple != 0;
 
   if (s->hl == DRAW_CURSOR
       && !x_stretch_cursor_p)
@@ -4426,7 +4425,7 @@ w32_scroll_bar_handle_click (bar, msg, emacs_event)
   if (! 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;
@@ -4793,6 +4792,29 @@ w32_read_socket (sd, expected, hold_quit)
            }
          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.  */
          {