]> code.delx.au - gnu-emacs/blobdiff - lisp/x-dnd.el
*** empty log message ***
[gnu-emacs] / lisp / x-dnd.el
index 4b23665bca2c6abedb953007b023b909f81836dd..88a39ea679ee3ba3bfc6743d1cede5f23c8e7584 100644 (file)
@@ -308,13 +308,16 @@ nil if not."
         (w (posn-window (event-start event))))
     (when handler
       (if (and (windowp w) (window-live-p w)
-              (not (minibufferp (window-buffer w))))
-         ;; If dropping in a window, open files in that window rather
-         ;; than in a new widow.
+              (not (window-minibuffer-p w))
+              (not (window-dedicated-p w)))
+         ;; If dropping in an ordinary window which we could use,
+         ;; let dnd-open-file-other-window specify what to do.
          (progn
            (goto-char (posn-point (event-start event)))
            (funcall handler window action data))
-       (let ((dnd-open-file-other-window t))  ;; Dropping on non-window.
+       ;; If we can't display the file here,
+       ;; make a new window for it.
+       (let ((dnd-open-file-other-window t))
          (select-frame frame)
          (funcall handler window action data))))))