When you drag a window that is out of focus under another window, and release the cursor while the cursor is on this window that is on top, this top window moves.
Under Vista x64 I get slightly different behaviour; here if you drag a window under another window, then the dragged window stops moving as soon as the mouse cursor is over the other window (it seems taekwindow no longer receives the mouse events)
Probably related, if you drag a window and suddenly jerk the mouse such that the mouse leaves the window confines, the window stops moving (again it seems taekwindow no longer receives the mouse events).
If, in one of these two situations, you release the mouse button while the window being moved has "lost contact" with the mouse, then taekwindow seems not to receive the mouse up event either; so if later (now with mouse button unpressed) you mouse taekwindow resumes moving (or resizing) the original window. This kind of behavior seems related to x64 vs. x86 processes; it doesn't occur if both the window being resized and the upper window (not being resized) are owned by 86 processes - then you get "the bounce".
Oddly enough, behaviour is different again if _both_ processes are x64... _Then_ the dragged window stops moving as soon as the mouse is no longer over the original window. If, then, you release the mouse button while not over the original window, the window resumes it's moving/resizing behaviour despite the mouse not being over the window (something that doesn't occur for x86.
Urgh; looks like mouse movement is a mess in x64/x86 mixed environments.
I cannot test this since I don't run Vista, nor x64 XP. But this sounds really strange. Taekwindow uses SetCapture to capture the mouse, which should send all mouse events to the capturing window until ReleaseCapture is called. Apparently Vista or x86/x64 boundaries partly break or ignore this. Maybe UAC-related?
I doubt it's UAC related; I have that disabled. However, there is a pretty hard boundary between x86 and x64 processes, and in particular threads - perhaps SetCapture (which I'm not familiar with) runs code on whatever thread is receiving window messages? If something like that is occuring, then running that (x86) code would fail in an x64 process.
Fixed in 0.3, to be released very soon.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.