On 1 Mar 2010, at 16:03, Martin Hewitson wrote: > Dear list, > > I have developed an app on SL but at all times compiled the app for 10.5. > Today I got my hands on a leopard test machine to try out the app, and I get > crashes due to various things. Some of these I've fixed, but I'm stuck at > this one: > > Part of the app has an NSTableView filled with strings. I am able to drag > these strings from this 'library of strings' to another NSTextView. This all > works find on SL, but on Leopard it sends the app either in to spinning > beachball mode or it crashes. In the spinning beachball case I have to 'force > quit' the app, and then I get a very long report which I can't extract any > useful information from. The 'crash' actually happens before I reach a > dragging destination, so it must be something at the source end. When the app > crashes (rather than beachballs) I get the following (extract) crash report: > > Thread 0 Crashed: > 0 com.apple.CoreFoundation 0x00007fff8068e24f > CFDictionaryRemoveValue + 63 > 1 com.apple.AppKit 0x00007fff80f3cec8 -[NSPasteboard > setData:forType:] + 211 > 2 com.apple.AppKit 0x00007fff80f3cdcf -[NSPasteboard > setString:forType:] + 122 > 3 com.mhsoft.TeXnicle 0x0000000100015d7c -[LibraryController > tableView:writeRowsWithIndexes:toPasteboard:] + 651 > 4 com.apple.AppKit 0x00007fff80ddda72 -[NSTableView > _performDragFromMouseDown:] + 651 > 5 com.apple.AppKit 0x00007fff80ddbbf8 -[NSTableView > mouseDown:] + 653 > 6 com.apple.AppKit 0x00007fff80d93783 -[NSWindow > sendEvent:] + 5068 > 7 com.apple.AppKit 0x00007fff80d60d46 -[NSApplication > sendEvent:] + 5089 > 8 com.apple.AppKit 0x00007fff80cbb562 -[NSApplication run] > + 497 > 9 com.apple.AppKit 0x00007fff80c882f0 NSApplicationMain + > 373 > 10 com.mhsoft.TeXnicle 0x0000000100005d40 main + 33 > 11 com.mhsoft.TeXnicle 0x00000001000017c0 start + 52 > > > Here's the bit of code that writes the string to the pasteboard: > > - (BOOL)tableView:(NSTableView *)aTableView > writeRowsWithIndexes:(NSIndexSet *)rowIndexes > toPasteboard:(NSPasteboard*)pboard > { > if (aTableView == itemsTable) { > > NSArray *items = [[contentsController arrangedObjects] > objectsAtIndexes:rowIndexes]; > NSMutableArray *strings = [NSMutableArray array]; > for (NSDictionary *item in items) { > [strings addObject:[item valueForKey:@"Code"]]; > } > // id str = [[strings componentsJoinedByString:@"\n"] retain]; > id str = [strings componentsJoinedByString:@"\n"]; > NSLog(@"Writing to pboard: %@", str); > return [pboard setString:str forType:NSStringPboardType]; > } > > return NO; > } > Try preparing the pasteboard first with either of the following:
- (NSInteger)clearContents - (NSInteger)declareTypes:(NSArray *)newTypes owner:(id)newOwner Regards Jonathan Mitchell Developer http://www.mugginsoft.com > At one point I became unsure about the autoreleased string I create by > 'componentsJoinedByString:' and if the pasteboard retains that or now, but I > tested retaining and not, and it doesn't change anything. Can anyone see any > obvious error? > > More info: this can really screw up the system pasteboard because sometimes > after this crash I can no longer drag-n-drop text in any app and need to > reboot to get things working again! > > I'm hoping to avoid setting up a build environment on the Leopard machine, > but maybe that's a little optimistic. > > Any advice gratefully received. > > I'd gladly send the app to anyone interested in running it. > > The SL working version can be found at: > http://web.me.com/martinhewitson/BOBsoft/TeXnicle.html > > Thanks in advance, > > Martin > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Martin Hewitson > Albert-Einstein-Institut > Max-Planck-Institut fuer > Gravitationsphysik und Universitaet Hannover > Callinstr. 38, 30167 Hannover, Germany > Tel: +49-511-762-17121, Fax: +49-511-762-5861 > E-Mail: martin.hewit...@aei.mpg.de > WWW: http://www.aei.mpg.de/~hewitson > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > 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/jonathan%40mugginsoft.com > > This email sent to jonat...@mugginsoft.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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 arch...@mail-archive.com