From d3cc92e01c604b9068d8b917ba27f9bdf186bcbb Mon Sep 17 00:00:00 2001 From: ratmice Date: Wed, 6 Dec 2006 23:58:36 +0000 Subject: [PATCH] * Source/NSTextView.m: Don't update the selection when dragging a NSColorPboardType. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24191 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSTextView.m | 13 ++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) 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];