Mercurial > emacs
changeset 59932:c7c51386376c
* x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags
isn't a cons (i.e. the version is 0).
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sat, 05 Feb 2005 16:53:22 +0000 |
parents | f5f2fbf049bc |
children | 24dc47dc5486 |
files | lisp/ChangeLog lisp/x-dnd.el |
diffstat | 2 files changed, 19 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Feb 05 16:41:38 2005 +0000 +++ b/lisp/ChangeLog Sat Feb 05 16:53:22 2005 +0000 @@ -1,3 +1,8 @@ +2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags + isn't a cons (i.e. the version is 0). + 2005-02-05 Eli Zaretskii <eliz@gnu.org> * help.el (help-for-help): Doc fix.
--- a/lisp/x-dnd.el Sat Feb 05 16:41:38 2005 +0000 +++ b/lisp/x-dnd.el Sat Feb 05 16:53:22 2005 +0000 @@ -557,18 +557,20 @@ WINDOW is the window within FRAME where the mouse is now. FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent." (cond ((equal "XdndEnter" message) - (let ((version (ash (car (aref data 1)) -8)) - (more-than-3 (cdr (aref data 1))) - (dnd-source (aref data 0))) - (x-dnd-save-state - window nil nil - (if (> more-than-3 0) - (x-window-property "XdndTypeList" - frame "AnyPropertyType" - dnd-source nil t) - (vector (x-get-atom-name (aref data 2)) - (x-get-atom-name (aref data 3)) - (x-get-atom-name (aref data 4))))))) + (let* ((flags (aref data 1)) + (version (and (consp flags) (ash (car flags) -8))) + (more-than-3 (and (consp flags) (cdr flags))) + (dnd-source (aref data 0))) + (if version ;; If flags is bad, version will be nil. + (x-dnd-save-state + window nil nil + (if (> more-than-3 0) + (x-window-property "XdndTypeList" + frame "AnyPropertyType" + dnd-source nil t) + (vector (x-get-atom-name (aref data 2)) + (x-get-atom-name (aref data 3)) + (x-get-atom-name (aref data 4)))))))) ((equal "XdndPosition" message) (let* ((x (car (aref data 2)))