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)))