I traced the behavior to [NSWindow -sendEvent:], which does the
following:
case NSLeftMouseDragged:
v = [_wv hitTest: [theEvent locationInWindow]];
[v mouseDragged: theEvent];
break;
Drags are only sent to the object they are over. Thus, even if the
scrollbar explicitly requests and gets firstResponder status from the
window, it still won't get the events. I'm not sure how the
implementation on OS X differs, but it might be that the drags are
sent according to the responder chain instead of or in addition to the
hit detection. Any thoughts? I'd like to get GNUstep working more
similarly to OS X if we can figure out what it does, unless people
think there is something incorrect about it.