It shouldn't be necessary to do any cursorRects management if you're not using them yourself. Something is calling resetCursorRects (or a similar method), and NSScrollView is dutifully paying attention.
I've played with subclassing NSScrollView and NSClipView, so as to suppress resetCursorRects doing anything - but haven't hit upon the actual place that the cursor rect is being set.
You probably have enough specific information here to justify a bug report, assuming there aren't (say) any custom or 3rd-party controls in the window that might be messing with the cursor rects.
Yes, I think I'm confident enough in my belief that there is something untoward going on in the framework to warrant a bug report. There are absolutely no special controls or anything else in the mix to observe this behaviour - the two methods I originally posted in a subclass of NSTableView is literally all it takes. Probably most people don't set cursors over tables much - so the fact that the arrow cursor is continually reasserted goes unnoticed.
As a workaround, you could also try calling disableCursorRects for the window. The only two important cases of built-in cursor changing behavior I can think of are setting the I-beam in text fields and resetting to the arrow when exiting a managed region, and I *think* they both use NSTrackingArea now -- so disabling cursor rects might not break anything important. :)
disableCursorRects does work to prevent the extraneous cursor setting. So, apparently, does creating a new NSCursor subclass that expressly does nothing in a -set method override, and setting this as the document cursor in the instance of NSScrollView surrounding the table.
As the latter _seems_ more discrete and (so far) has no unwanted side effects, I have that installed as a work-around.
So, that probably wraps it up for now - at least w.r.t. working around the odd behaviour. Assistance was much appreciated!
_______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
