mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08:00
Fix a bug where the wrong menu would be triggered by mouse
For layouts such as the following, clicking the "l" in Tools with the right window focused would trigger the File menu, not the Tools menu. This is because the event would have window coordinate (1 . 0). Similarly, clicking the "p" in Help would trigger the Edit menu. Example Emacs frame: +--------------------------------------------------------+ |File Edit Options Buffers Tools Help | |;; This buffer is for text$|;; This buffer is for text $| |;; To create a file, visit$|;; To create a file, visit $| | | | | | | |-UUU:----F1 *scratch* |-UUU:----F1 *scratch* | | | +--------------------------------------------------------+ * lisp/menu-bar.el (menu-bar-open-mouse): Reject clicks not on the menu bar. *lisp/xt-mouse.el (xterm-mouse-event): Pass the current frame to 'posn-at-x-y', to make the effect consistent with other mouse-handling features.
This commit is contained in:
parent
92d37029a7
commit
2c487c47c8
2 changed files with 7 additions and 1 deletions
|
|
@ -2672,6 +2672,12 @@ EVENT should be a mouse down or click event.
|
|||
Also see `menu-bar-open', which this calls.
|
||||
This command is to be used when you click the mouse in the menubar."
|
||||
(interactive "e")
|
||||
;; This only should be bound to clicks on the menu-bar, outside of
|
||||
;; any window.
|
||||
(let ((window (posn-window (event-start event))))
|
||||
(when window
|
||||
(error "Event is inside window %s" window)))
|
||||
|
||||
(let* ((x-position (car (posn-x-y (event-start event))))
|
||||
(menu-bar-item-cons (menu-bar-item-at-x x-position)))
|
||||
(menu-bar-open nil
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ which is the \"1006\" extension implemented in Xterm >= 277."
|
|||
(eq y 1)))
|
||||
'tab-bar
|
||||
'menu-bar))
|
||||
(nthcdr 2 (posn-at-x-y x y)))))
|
||||
(nthcdr 2 (posn-at-x-y x y (selected-frame))))))
|
||||
(event (list type posn)))
|
||||
(setcar (nthcdr 3 posn) timestamp)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue