aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2006-09-18 15:39:50 +0000
committerRichard M. Stallman2006-09-18 15:39:50 +0000
commit0fdbf6bc76533b093a74318d8ac6256a93e4c43a (patch)
treee12e3d47e0ad730b843ad885c48f9274fe79ca6d
parentf316efd97866668388e0de6e2e68ff73f7a1cbb8 (diff)
downloademacs-0fdbf6bc76533b093a74318d8ac6256a93e4c43a.tar.gz
emacs-0fdbf6bc76533b093a74318d8ac6256a93e4c43a.zip
(widget-button-click): Handle non-mouse-motion events
that might come in during mouse tracking.
-rw-r--r--lisp/wid-edit.el21
1 files changed, 12 insertions, 9 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index fc64dd5f361..e518fff34fa 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -959,15 +959,18 @@ Recommended as a parent keymap for modes using widgets.")
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.