With Emacs 25.2 under MacOS 10.12, I use a mouse key that has bindings on both its depress and release states. The depress is in a frame with 2 windows (one showing *Buffer List* and the other showing hmouse-drv.el). The depress occurs in the *Buffer List* window.
The release occurs in another frame and the release window is showing hui-window.el.
Here is the drag event generated. Element 2 shows the proper depress window but element 3 shows the depress frame rather than the release frame. And element 3 has a frame rather than a window as its first argument even though the Elisp manual says it should be a window.
(drag-mouse-2 (#<window 90 on *Buffer List*> 2905 (88 . 467) 4050744642 nil 2905 (12 . 33) nil (4 . 5) (7 . 14)) (#<frame hmouse-drv.el "/Users/bk/Dropbox/emacs/hyperbole/" 0x102f5bde8> nil (-1373 . 463) 4050749802))
Has anyone seen this behavior before or know what's going on. I'm just trying to write a simple function that selects a buffer from one window and puts it in another window which may be in another frame.