On Mar 1, 2010, at 11:17 AM, [email protected] wrote:

> 
> 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

looks like this is the available only on SL.  how to clear a pasteboard in 
Leopard ?

> - (NSInteger)declareTypes:(NSArray *)newTypes owner:(id)newOwner

ownership could be a reason, the attempt to write to pasteboard is failing.

> 
> 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: [email protected]
>> WWW: http://www.aei.mpg.de/~hewitson
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 
>> Cocoa-dev mailing list ([email protected])
>> 
>> 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 [email protected]
> 
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> 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/karthikreddy09%40gmail.com
> 
> This email sent to [email protected]

_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to