Go to file
Tor Arne Vestbø 362dcb4759 macOS: Respect responder chain when setting cursor
There's no need for us to walk our own ancestor chain to figure out which
cursor to set. AppKit will automatically call cursorUpdate: on the view
that would be the hitTest target of the current mouse position, and by
falling back to super when no cursor is set for the current view, we
automatically get the behavior that effectiveWindowCursor tried to solve.

In addition, it solves the case of applyEffectiveWindowCursor applying
the arrowCursor when no cursor was set, which would mean that if any
native parent view of our view _did_ have a cursor set, we would not
fall back to the native view's cursor, but instead override it with
the arrow cursor. Following the responder chain gives the correct
behavior in this case.

Unfortunately, due to rdar://34183708, if a subview of one of our
views uses the legacy cursorRect approach to cursor management, the
cursor will not be reset back to our cursor via cursorUpdate: when
leaving the child and entering the parent view (our view). Moving
our implementation over to the legacy API would solve this problem,
but just propagate it to native parent views of our views, which
could potentially use NSTrackingAreas, and would not have _their_
cursors re-set.

Change-Id: Id20cc03136f0b1d4b9120750fe63ddc455363aaf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-09-01 10:04:52 +00:00
bin don't try to timestamp injected qvulkanfunctions.h 2017-03-22 15:49:19 +00:00
config.tests QFileSystemEngine::setFileTime/Unix: remove the fallback to futimesat 2017-08-05 16:41:42 +00:00
dist Remove mention of reverted fix 2017-06-28 11:54:29 +02:00
doc Doc: Add styling for function groups 2017-08-15 09:40:13 +00:00
examples Merge remote-tracking branch 'origin/5.9' into dev 2017-08-02 22:52:32 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Fix CMake version resolving 2017-08-16 15:35:40 +00:00
qmake Merge remote-tracking branch 'origin/5.9' into dev 2017-08-15 16:31:48 +02:00
src macOS: Respect responder chain when setting cursor 2017-09-01 10:04:52 +00:00
tests macOS: Respect responder chain when setting cursor 2017-09-01 10:04:52 +00:00
util Add byte-based units to CLDR data 2017-06-13 11:28:09 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore GitIgnore config.status.bat and config.tests/.qmake.stash 2017-06-13 05:58:30 +00:00
.qmake.conf Bump version 2017-07-03 07:22:45 +00:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt Restore behavior of using libEGL and libGLESv2 as default for angle 2017-05-11 08:35:54 +00:00
configure configure: dispose of which.test 2017-08-02 16:37:32 +00:00
configure.bat configure: balk at any of {{,X}QMAKESPEC,QMAKE{PATH,FEATURES}} being set 2017-04-21 09:22:27 +00:00
configure.json Merge remote-tracking branch 'origin/5.9' into dev 2017-08-02 22:52:32 +02:00
configure.pri build the configure tests in the top-level build dir 2017-06-12 09:55:39 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.BSD-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.FDL-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-NOGPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile EDID parser library 2017-05-02 09:11:56 +00:00