• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
exceptions when NSTextStorage initialized with empty string
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

exceptions when NSTextStorage initialized with empty string


  • Subject: exceptions when NSTextStorage initialized with empty string
  • From: Martin Hewitson <email@hidden>
  • Date: Wed, 7 Apr 2010 08:31:15 +0200

Dear list,

I have an application which uses NSTextStorage objects to provide multiple views of the content of files. In principle, everything seems to be working fine; I can have multiple views of the same document and edit just fine. In most cases the text storage is initialized with some content, but in the case that the text storage is initialized with an empty string, I get exceptions the first time an attempt is made to insert a string using a NSTextView (calls to insertText:). The code that initializes the text storage is (simplified):

		textStorage = [[NSTextStorage alloc] initWithString:str];

		// Add a main layout manager
		NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];
		[textStorage addLayoutManager:layoutManager];

		// Now add the container to the layout manager
		[layoutManager addTextContainer:textContainer];

		// Clean up
		[textContainer release];
		[layoutManager release];
		[str release];

The exception I get is shown below. So as long as 'str' has at least one character in it, then I don't get the problems. I can then delete all in the text view and then type and all is well - just if I start from an empty text storage ...

Any advice or clues would be gratefully received.

Best wishes,

Martin

p.s. the implementation of insertText: doesn't do much, and removing this method from the text view subclass doesn't fix the problem.

HIToolbox: ignoring exception '*** NSRunStorage, _NSBlockNumberForIndex(): index (18446744073709551615) beyond array bounds (0)' that raised inside Carbon event dispatch
(
	0   CoreFoundation                      0x00007fff87282d24 __exceptionPreprocess + 180
	1   libobjc.A.dylib                     0x00007fff843c90f3 objc_exception_throw + 45
	2   CoreFoundation                      0x00007fff87282b47 +[NSException raise:format:arguments:] + 103
	3   CoreFoundation                      0x00007fff87282ad4 +[NSException raise:format:] + 148
	4   AppKit                              0x00007fff80154d9e _NSBlockNumberForIndex + 86
	5   AppKit                              0x00007fff80155ceb -[NSLayoutManager textContainerForGlyphAtIndex:effectiveRange:] + 364
	6   AppKit                              0x00007fff801adb71 -[NSTextView(NSSharing) didChangeText] + 340
	7   AppKit                              0x00007fff801d35a8 -[NSTextView insertText:replacementRange:] + 2763
	8   TeXnicle                            0x000000010001e85e -[TPTextView insertText:] + 199
	9   AppKit                              0x00007fff801d2a95 -[NSTextInputContext insertText:replacementRange:] + 345
	10  AppKit                              0x00007fff801d0eb1 -[NSTextInputContext handleTSMEvent:] + 2204
	11  AppKit                              0x00007fff801d0606 _NSTSMEventHandler + 156
	12  HIToolbox                           0x00007fff859dab57 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1002
	13  HIToolbox                           0x00007fff859da0a6 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 395
	14  HIToolbox                           0x00007fff859f7d85 SendEventToEventTarget + 45
	15  HIToolbox                           0x00007fff85a29417 SendTSMEvent + 48
	16  HIToolbox                           0x00007fff85a28fbd SendUnicodeTextAEToUnicodeDoc + 468
	17  HIToolbox                           0x00007fff85a28d38 TSMKeyEvent + 604
	18  HIToolbox                           0x00007fff85a13880 TSMProcessRawKeyEvent + 1909
	19  AppKit                              0x00007fff801cf2fb -[NSTextInputContext handleEvent:] + 620
	20  AppKit                              0x00007fff801cf022 -[NSView interpretKeyEvents:] + 186
	21  AppKit                              0x00007fff801cedfb -[NSTextView keyDown:] + 819
	22  AppKit                              0x00007fff80140c3b -[NSWindow sendEvent:] + 8769
	23  AppKit                              0x00007fff80075662 -[NSApplication sendEvent:] + 4719
	24  AppKit                              0x00007fff8000c0aa -[NSApplication run] + 474
	25  AppKit                              0x00007fff80004d7c NSApplicationMain + 364
	26  TeXnicle                            0x0000000100006e4d main + 33
	27  TeXnicle                            0x0000000100001354 start + 52
	28  ???                                 0x0000000000000001 0x0 + 1


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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@hidden
WWW: http://www.aei.mpg.de/~hewitson
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: exceptions when NSTextStorage initialized with empty string
      • From: "Stephen J. Butler" <email@hidden>
    • Re: exceptions when NSTextStorage initialized with empty string
      • From: Kyle Sluder <email@hidden>
  • Prev by Date: Localized name of trash folder
  • Next by Date: OS X Game Programming
  • Previous by thread: Localized name of trash folder
  • Next by thread: Re: exceptions when NSTextStorage initialized with empty string
  • Index(es):
    • Date
    • Thread