Kyle,

It appears you're right.

Another approach is to use multiple field editor objects so that you keep the 
first editor content unmodified.

Aki

On 2011/08/02, at 18:37, Kyle Sluder wrote:

> On Tue, Aug 2, 2011 at 6:09 PM, Aki Inoue <a...@apple.com> wrote:
>> Hi Tom,
>> 
>> Definitely write a Radar.
> 
> I just got this distilled down into an extremely simple demo project.
> rdar://problem/9886471
> 
> The demo project is here for any interested third parties: 
> http://db.tt/7hA7i8m
> 
>> One thing you could try is overriding both -checkTextInRange:types:options: 
>> & -handleTextCheckingResults:forRange:types:options:orthography:wordCount: 
>> for your field editor.
>> 
>> You can have some kind of the field editor session ID.
>> 
>> Every time a new field editor starts, you increment the ID.  Then, inside 
>> your -checkTextInRange:, you can pass the session ID via the options dict to 
>> super.
>> 
>> Inside -handleTextCheckingResult:, validate the session ID inside the 
>> options dict against the current ID.  Forward the message to super only when 
>> they match.
> 
> The problem isn't within -handleTextCheckingResult:…, but rather
> within the block that -handleTextCheckingResult:… passes to
> -[NSSpellChecker showCorrectionIndicatorOfType:…]. That block is
> assuming that whenever it gets executed, the text view will still be
> attached to the same field editor it was attached to when it was
> enqueued on the main thread.
> 
> We would need to inject this session ID check into the
> completionHandler. The only way I can think of accomplishing that
> would be to swizzle -showCorrectionIndicatorOfType:….
> 
> --Kyle Sluder

_______________________________________________

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

Reply via email to