diff options
author | marc_culler <marc.culler@gmail.com> | 2021-12-09 18:17:55 (GMT) |
---|---|---|
committer | marc_culler <marc.culler@gmail.com> | 2021-12-09 18:17:55 (GMT) |
commit | 35c4a9fd1c44108a01dcaba973a9e195cb6ee42e (patch) | |
tree | bfae2c3a6c2bda480ae0a12577bccefe34c71198 /macosx/tkMacOSXMouseEvent.c | |
parent | 9d1a5f991bf9c2fcb0e456b763706cb3f13655ce (diff) | |
download | tk-35c4a9fd1c44108a01dcaba973a9e195cb6ee42e.zip tk-35c4a9fd1c44108a01dcaba973a9e195cb6ee42e.tar.gz tk-35c4a9fd1c44108a01dcaba973a9e195cb6ee42e.tar.bz2 |
Fix regression with <B1-Motion> events.
Diffstat (limited to 'macosx/tkMacOSXMouseEvent.c')
-rw-r--r-- | macosx/tkMacOSXMouseEvent.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/macosx/tkMacOSXMouseEvent.c b/macosx/tkMacOSXMouseEvent.c index e3ae560..6ac45e9 100644 --- a/macosx/tkMacOSXMouseEvent.c +++ b/macosx/tkMacOSXMouseEvent.c @@ -435,7 +435,6 @@ enum { * sent when we call Tk_UpdatePointer. */ - Tk_UpdatePointer(target, global.x, global.y, state); if (eventType != NSScrollWheel) { if (isDragging) { @@ -476,7 +475,16 @@ enum { xEvent.xmotion.y_root = global.y; xEvent.xmotion.state = state; Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL); + + /* + * TkUpdatePointer must not be called in this case. Doing so + * will break scrollbars; dragging will stop when the mouse + * leaves the window. + */ + } + } else { + Tk_UpdatePointer(target, global.x, global.y, state); } } else { CGFloat delta; |