aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Djärv2005-02-05 16:53:22 +0000
committerJan Djärv2005-02-05 16:53:22 +0000
commit18daafed96173ce66b171845b68cdff7ed671c90 (patch)
tree60c4c10468710c09d8b1c259d60af63a745d273a
parent31f16913d78ccf89e278816ba2c10ed075c1be19 (diff)
downloademacs-18daafed96173ce66b171845b68cdff7ed671c90.tar.gz
emacs-18daafed96173ce66b171845b68cdff7ed671c90.zip
* x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags
isn't a cons (i.e. the version is 0).
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/x-dnd.el26
2 files changed, 19 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 491c3ce96dd..e5a5c004148 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2
3 * x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags
4 isn't a cons (i.e. the version is 0).
5
12005-02-05 Eli Zaretskii <eliz@gnu.org> 62005-02-05 Eli Zaretskii <eliz@gnu.org>
2 7
3 * help.el (help-for-help): Doc fix. 8 * help.el (help-for-help): Doc fix.
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index f2b081fdcc5..a540c1b7af3 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -557,18 +557,20 @@ EVENT is the client message. FRAME is where the mouse is now.
557WINDOW is the window within FRAME where the mouse is now. 557WINDOW is the window within FRAME where the mouse is now.
558FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent." 558FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent."
559 (cond ((equal "XdndEnter" message) 559 (cond ((equal "XdndEnter" message)
560 (let ((version (ash (car (aref data 1)) -8)) 560 (let* ((flags (aref data 1))
561 (more-than-3 (cdr (aref data 1))) 561 (version (and (consp flags) (ash (car flags) -8)))
562 (dnd-source (aref data 0))) 562 (more-than-3 (and (consp flags) (cdr flags)))
563 (x-dnd-save-state 563 (dnd-source (aref data 0)))
564 window nil nil 564 (if version ;; If flags is bad, version will be nil.
565 (if (> more-than-3 0) 565 (x-dnd-save-state
566 (x-window-property "XdndTypeList" 566 window nil nil
567 frame "AnyPropertyType" 567 (if (> more-than-3 0)
568 dnd-source nil t) 568 (x-window-property "XdndTypeList"
569 (vector (x-get-atom-name (aref data 2)) 569 frame "AnyPropertyType"
570 (x-get-atom-name (aref data 3)) 570 dnd-source nil t)
571 (x-get-atom-name (aref data 4))))))) 571 (vector (x-get-atom-name (aref data 2))
572 (x-get-atom-name (aref data 3))
573 (x-get-atom-name (aref data 4))))))))
572 574
573 ((equal "XdndPosition" message) 575 ((equal "XdndPosition" message)
574 (let* ((x (car (aref data 2))) 576 (let* ((x (car (aref data 2)))