diff --git a/ChangeLog b/ChangeLog index 1e85a240c..4f5699ad7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-12-06 Matt Rice + + * Source/NSTextView.m: Don't update the selection when dragging a + NSColorPboardType. + 2006-12-03 Adam Fedor * Documentation/manual/: New AppKit manual. diff --git a/Source/NSTextView.m b/Source/NSTextView.m index f6f0ff075..0930215fe 100644 --- a/Source/NSTextView.m +++ b/Source/NSTextView.m @@ -4235,7 +4235,8 @@ other than copy/paste or dragging. */ restrictedToTypesFromArray: types]; unsigned int flags = [self dragOperationForDraggingInfo: sender type: type]; - if (flags != NSDragOperationNone) + if (flags != NSDragOperationNone + && ![type isEqual:NSColorPboardType]) { NSPoint dragPoint; unsigned dragIndex; @@ -4269,7 +4270,8 @@ other than copy/paste or dragging. */ restrictedToTypesFromArray: types]; unsigned int flags = [self dragOperationForDraggingInfo: sender type: type]; - if (flags != NSDragOperationNone) + if (flags != NSDragOperationNone + && ![type isEqual:NSColorPboardType]) { NSPoint dragPoint; unsigned dragIndex; @@ -4297,7 +4299,12 @@ other than copy/paste or dragging. */ - (void) draggingExited: (id )sender { - if (_tf.isDragTarget == YES) + NSPasteboard *pboard = [sender draggingPasteboard]; + NSArray *types = [self readablePasteboardTypes]; + NSString *type = [self preferredPasteboardTypeFromArray: [pboard types] + restrictedToTypesFromArray: types]; + if (_tf.isDragTarget == YES + && ![type isEqual:NSColorPboardType]) { _tf.isDragTarget = NO; [self setSelectedRange: _dragTargetSelectionRange];