XQuartz: Don't trust deltaXY for middle mouse clicks.
The middle mouse clicks return erroneous values after returning from
Fast User Switching.
<rdar://problem/7979468>
http://xquartz.macosforge.org/trac/ticket/389
Signed-off-by: Martin Otte <otte@duke.edu>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Edward Moy <emoy@apple.com>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit a911292c85
)
This commit is contained in:
parent
1e7a9b15de
commit
754b995a3f
|
@ -1038,12 +1038,15 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
|
|||
location.x += frame.origin.x;
|
||||
location.y += frame.origin.y;
|
||||
lastpt = location;
|
||||
} else if(isTabletEvent) {
|
||||
} else if(isTabletEvent || [e type] == NSOtherMouseDown || [e type] == NSOtherMouseUp) {
|
||||
// NSEvents for tablets are not consistent wrt deltaXY between events, so we cannot rely on that
|
||||
// Thus tablets will be subject to the warp-pointer bug worked around by the delta, but tablets
|
||||
// are not normally used in cases where that bug would present itself, so this is a fair tradeoff
|
||||
// <rdar://problem/7111003> deltaX and deltaY are incorrect for NSMouseMoved, NSTabletPointEventSubtype
|
||||
// http://xquartz.macosforge.org/trac/ticket/288
|
||||
// The deltaXY for middle click events also appear erroneous after fast user switching
|
||||
// <rdar://problem/7979468> deltaX and deltaY are incorrect for NSOtherMouseDown and NSOtherMouseUp after FUS
|
||||
// http://xquartz.macosforge.org/trac/ticket/389
|
||||
location = [e locationInWindow];
|
||||
lastpt = location;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user