mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 09:14:18 +00:00
Correct generation of touchscreen-pinch events
* lisp/touch-screen.el (touch-screen-pinch): Check that posn-x-y is available before scrolling to it. (touch-screen-handle-aux-point-update): Don't provide posns for windows besides the window where the touch sequence started in touchscreen-pinch events.
This commit is contained in:
parent
ed24972849
commit
643c7fc851
1 changed files with 18 additions and 6 deletions
|
|
@ -925,7 +925,8 @@ text scale by the ratio therein."
|
|||
;; position.
|
||||
(if (and (not (eq current-scale
|
||||
text-scale-mode-amount))
|
||||
(posn-point posn))
|
||||
(posn-point posn)
|
||||
(cdr (posn-x-y posn)))
|
||||
(touch-screen-scroll-point-to-y (posn-point posn)
|
||||
(cdr (posn-x-y posn)))
|
||||
;; Rather than scroll POSN's point to its old row, scroll the
|
||||
|
|
@ -1224,11 +1225,22 @@ last such event."
|
|||
(throw 'input-event (list 'touchscreen-pinch
|
||||
(if (or (<= (car centrum) 0)
|
||||
(<= (cdr centrum) 0))
|
||||
(list window centrum nil nil nil
|
||||
nil nil nil)
|
||||
(posn-at-x-y (car centrum)
|
||||
(cdr centrum)
|
||||
window))
|
||||
(list window nil centrum nil nil
|
||||
nil nil nil nil nil)
|
||||
(let ((posn (posn-at-x-y (car centrum)
|
||||
(cdr centrum)
|
||||
window)))
|
||||
(if (eq (posn-window posn)
|
||||
window)
|
||||
posn
|
||||
;; Return a placeholder
|
||||
;; outside the window if
|
||||
;; the centrum has moved
|
||||
;; beyond the confines of
|
||||
;; the window where the
|
||||
;; gesture commenced.
|
||||
(list window nil centrum nil nil
|
||||
nil nil nil nil nil))))
|
||||
ratio
|
||||
(- (car centrum)
|
||||
(car initial-centrum))
|
||||
|
|
|
|||
Loading…
Reference in a new issue