From b9e847824657d5dcbaf33452498da6057a57331e Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Sun, 2 Jan 2005 20:07:36 +0000 Subject: [PATCH] Correction for exception when dragging images/sounds. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@20513 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 6 ++++++ GormImageEditor.m | 26 +++++++++++++++----------- GormSoundEditor.m | 26 +++++++++++++++----------- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1a9ca397..db6c5fb8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-01-02 15:11 Gregory John Casamento + + * GormImageEditor.m + * GormSoundEditor.m: Fix to correct exception when dragging + from a cell which doesn't contain a resource. + 2005-01-01 10:33 Gregory John Casamento * GormLib/IBObjectAdditions.m: Implementation for nibLabel. diff --git a/GormImageEditor.m b/GormImageEditor.m index d63cf437..c7525cae 100644 --- a/GormImageEditor.m +++ b/GormImageEditor.m @@ -373,18 +373,22 @@ static int handled_mask= NSDragOperationCopy|NSDragOperationGeneric|NSDragOperat int pos; pos = row * [self numberOfColumns] + column; - pb = [NSPasteboard pasteboardWithName: NSDragPboard]; - [pb declareTypes: [NSArray arrayWithObject: GormImagePboardType] - owner: self]; - [pb setString: [[objects objectAtIndex: pos] imageName] - forType: GormImagePboardType]; - [self dragImage: [[objects objectAtIndex: pos] image] - at: lastLocation - offset: NSZeroSize + // don't allow the user to drag empty resources. + if(pos < [objects count]) + { + pb = [NSPasteboard pasteboardWithName: NSDragPboard]; + [pb declareTypes: [NSArray arrayWithObject: GormImagePboardType] + owner: self]; + [pb setString: [[objects objectAtIndex: pos] imageName] + forType: GormImagePboardType]; + [self dragImage: [[objects objectAtIndex: pos] image] + at: lastLocation + offset: NSZeroSize event: theEvent - pasteboard: pb - source: self - slideBack: YES]; + pasteboard: pb + source: self + slideBack: YES]; + } return; } diff --git a/GormSoundEditor.m b/GormSoundEditor.m index a2a3e2bd..d8d5aba6 100644 --- a/GormSoundEditor.m +++ b/GormSoundEditor.m @@ -364,18 +364,22 @@ static NSMapTable *docMap = 0; int pos; pos = row * [self numberOfColumns] + column; - pb = [NSPasteboard pasteboardWithName: NSDragPboard]; - [pb declareTypes: [NSArray arrayWithObject: GormSoundPboardType] - owner: self]; - [pb setString: [[objects objectAtIndex: pos] soundName] - forType: GormSoundPboardType]; - [self dragImage: [[objects objectAtIndex: pos] soundImageForViewer] - at: lastLocation - offset: NSZeroSize + // don't allow the user to drag empty resources. + if(pos < [objects count]) + { + pb = [NSPasteboard pasteboardWithName: NSDragPboard]; + [pb declareTypes: [NSArray arrayWithObject: GormSoundPboardType] + owner: self]; + [pb setString: [[objects objectAtIndex: pos] soundName] + forType: GormSoundPboardType]; + [self dragImage: [[objects objectAtIndex: pos] soundImageForViewer] + at: lastLocation + offset: NSZeroSize event: theEvent - pasteboard: pb - source: self - slideBack: YES]; + pasteboard: pb + source: self + slideBack: YES]; + } return; }