Function: x-dnd-handle-old-kde
x-dnd-handle-old-kde is a byte-compiled function defined in
x-dnd.el.gz.
Signature
(x-dnd-handle-old-kde EVENT FRAME WINDOW MESSAGE FORMAT DATA)
Documentation
Handle an old KDE (OffiX) drop.
EVENT, FRAME, WINDOW and DATA mean the same thing they do in
x-dnd-handle-offix.
Source Code
;; Defined in /usr/src/emacs/lisp/x-dnd.el.gz
(defun x-dnd-handle-old-kde (event frame window _message _format data)
"Handle an old KDE (OffiX) drop.
EVENT, FRAME, WINDOW and DATA mean the same thing they do in
`x-dnd-handle-offix.'"
(let ((proto (aref data 4)))
;; If PROTO > 0, this is an old KDE drop emulated by a program
;; supporting a newer version of the OffiX protocol, so we should
;; wait for the corresponding modern event instead.
(when (zerop proto)
(let ((type (cdr (assq (aref data 0) x-dnd-offix-old-kde-to-name)))
(data (x-window-property "DndSelection" frame nil 0 t)))
;; First save state.
(x-dnd-save-state window nil nil (vector type) nil)
;; Now call the test function to decide what action to perform.
(x-dnd-maybe-call-test-function window 'private)
(unwind-protect
(when (windowp window)
(select-window window))
(x-dnd-drop-data event frame window data
(symbol-name type))
(x-dnd-forget-drop window))))))