Hi Ken,

Thanks! This information sounds relevant, but I'm still puzzled. All I
do is just use a NSTextView on a window. The text view is resizable by
width and height, i.e. the text is wrapped when I change the view's
width, and scroll bar appears when I change its height. All pretty
standard. I do not delve under the hood, do not assemble my own text
editor from the components of the text system. I don't use text
container directly in my code.

Besides, even if this was the reason, why does it not manifest in
normal use cases, but only in some very rare and obscure
circumstances? Namely, when MacBook wakes from sleep mode? There were
no reports even from iMacs or MacMinis, only MacBooks. Mostly it
happens on 10.8.2, but one report was assumably from 10.7.5.

I appreciate your help very much! I've found nothing in the Internet
on this, and the bug is pretty critical.


On Fri, Feb 8, 2013 at 5:11 PM, Ken Thomases <k...@codeweavers.com> wrote:
> On Feb 8, 2013, at 5:05 AM, Oleg Krupnov wrote:
>
>> I've received a few reports from users that my app hangs and consumes
>> 100% CPU, and they have to force quit it. It usually happens on
>> MacBooks after they are awaken from sleep mode.
>>
>> One user also sent the following crash report:
>>
>> 16  com.apple.CoreFoundation            0x00007fff8846547a
>> _CFXNotificationPost + 2554
>> 17  com.apple.Foundation                0x00007fff85251846
>> -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
>> 18  com.apple.AppKit                    0x00007fff8cb8821e -[NSView
>> _postFrameChangeNotification] + 259
>> 19  com.apple.AppKit                    0x00007fff8cb728f3 -[NSView
>> setFrameSize:] + 1352
>> 20  com.apple.AppKit                    0x00007fff8cc47c86
>> -[NSTextView(NSPrivate) _setFrameSize:forceScroll:] + 1367
>> 21  com.apple.AppKit                    0x00007fff8cc13d33
>> -[NSTextContainer setContainerSize:] + 193
>> 22  com.apple.AppKit                    0x00007fff8cc43ac9
>> -[NSTextContainer(NSPrivate) _resizeAccordingToTextView:] + 289
>> 23  com.apple.CoreFoundation            0x00007fff8846547a
>> _CFXNotificationPost + 2554
>> 24  com.apple.Foundation                0x00007fff85251846
>> -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
>> 25  com.apple.AppKit                    0x00007fff8cb8821e -[NSView
>> _postFrameChangeNotification] + 259
>> 26  com.apple.AppKit                    0x00007fff8cb728f3 -[NSView
>> setFrameSize:] + 1352
>> 27  com.apple.AppKit                    0x00007fff8cc47c86
>> -[NSTextView(NSPrivate) _setFrameSize:forceScroll:] + 1367
>> 28  com.apple.AppKit                    0x00007fff8cc13d33
>> -[NSTextContainer setContainerSize:] + 193
>> 29  com.apple.AppKit                    0x00007fff8cc43ac9
>> -[NSTextContainer(NSPrivate) _resizeAccordingToTextView:] + 289
>
> I just responded to an identical post in the dev forums, which I assume was 
> yours <https://devforums.apple.com/message/783296#783296>:
>
> See the last paragraph from Text System Storage Layer Overview: Tracking the 
> Size of a Text View:
> https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TextStorageLayer/Tasks/TrackingSize.html
>
>> Note that a text view can be resized based on its text container, and a text 
>> container can resize itself based on its text view. If you set both objects 
>> up to resize automatically in the same dimension, your application can get 
>> trapped in an infinite loop. When text is added to the text container, the 
>> text view is resized to fit the area actually used for text; this causes the 
>> text container to resize itself and relay its text, which causes the text 
>> view to resize itself again, and so on ad infinitum. Each type of size 
>> tracking has its proper uses; be sure to use only one for either dimension.
>
> Cheers,
> Ken
>

_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to