comparison lisp/wid-edit.el @ 72959:1a9df4096f4e

(widget-button-click): Handle non-mouse-motion events that might come in during mouse tracking.
author Richard M. Stallman <rms@gnu.org>
date Mon, 18 Sep 2006 15:39:50 +0000
parents bb4dc0e56e88
children 1a9d85f409b8 b5c13d1564a9
comparison
equal deleted inserted replaced
72958:3b2d4cd42aaa 72959:1a9df4096f4e
957 (setq event (read-event)) 957 (setq event (read-event))
958 (when (and mouse-1 (mouse-movement-p event)) 958 (when (and mouse-1 (mouse-movement-p event))
959 (push event unread-command-events) 959 (push event unread-command-events)
960 (setq event oevent) 960 (setq event oevent)
961 (throw 'button-press-cancelled t)) 961 (throw 'button-press-cancelled t))
962 (setq pos (widget-event-point event)) 962 (unless (or (integerp event)
963 (if (and pos 963 (memq (car event) '(switch-frame select-window))
964 (eq (get-char-property pos 'button) 964 (eq (car event) 'scroll-bar-movement))
965 button)) 965 (setq pos (widget-event-point event))
966 (when face 966 (if (and pos
967 (overlay-put overlay 'face pressed-face) 967 (eq (get-char-property pos 'button)
968 (overlay-put overlay 'mouse-face pressed-face)) 968 button))
969 (overlay-put overlay 'face face) 969 (when face
970 (overlay-put overlay 'mouse-face mouse-face))))) 970 (overlay-put overlay 'face pressed-face)
971 (overlay-put overlay 'mouse-face pressed-face))
972 (overlay-put overlay 'face face)
973 (overlay-put overlay 'mouse-face mouse-face))))))
971 974
972 ;; When mouse is released over the button, run 975 ;; When mouse is released over the button, run
973 ;; its action function. 976 ;; its action function.
974 (when (and pos 977 (when (and pos
975 (eq (get-char-property pos 'button) button)) 978 (eq (get-char-property pos 'button) button))