On 28 Sep 2013, at 14:18, Quincey Morris <quinceymor...@rivergatesoftware.com> 
wrote:

> On Sep 27, 2013, at 23:39 , "Gerriet M. Denkmann" <gerr...@mdenkmann.de> 
> wrote:
> 
>> My CustomView (aka DriftView) has no subviews at all. It only has a 
>> superview: the ScrollView.
> 
> What I was trying to draw your attention to is that the backtrace tells you 
> that the dirty region is complex (i.e. not a simple rectangle) in that 
> scenario. Complex enough that it required 4 levels of recursion to produce 
> the 1-pixel update rect.

With the window containing my DriftView not obscured, hiding and reactivating 
the app produces:

1. a nice rect:

2013-09-28 14:45:15.678 EnTeP[95278:303] -[DriftView drawRect:] backtrace 27 
frames
0   EnTeP                               0x000000010003c5c7 -[DriftView 
drawRect:] + 135
1   AppKit                              0x00007fff8d0f2064 -[NSView 
_drawRect:clip:] + 4217
2   AppKit                              0x00007fff8d0f06c1 -[NSView 
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1656
3   AppKit                              0x00007fff8d0f0ad9 -[NSView 
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2704
4   AppKit                              0x00007fff8d0f0ad9 -[NSView 
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2704
5   AppKit                              0x00007fff8d0f0ad9 -[NSView 
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2704
6   AppKit                              0x00007fff8d0f0ad9 -[NSView 
_recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2704
7   AppKit                              0x00007fff8d0ee6f2 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 817
8   AppKit                              0x00007fff8d0ee143 -[NSThemeFrame 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 314
9   AppKit                              0x00007fff8d0e9d6d -[NSView 
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4675
10  AppKit                              0x00007fff8d0b3c93 -[NSView 
displayIfNeeded] + 1830
11  AppKit                              0x00007fff8d170a18 -[NSWindow 
_reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 1377
12  AppKit                              0x00007fff8d170038 -[NSWindow 
_doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 940
13  AppKit                              0x00007fff8d16fc1f -[NSWindow 
orderWindow:relativeTo:] + 159
14  AppKit                              0x00007fff8d686521 -[NSWindow 
_tempHide:relWin:] + 282
15  AppKit                              0x00007fff8d193585 -[NSApplication 
_doUnhideWithoutActivation] + 463
16  AppKit                              0x00007fff8d193340 _hideShowHandler + 
117
17  HIToolbox                           0x00007fff8b867d1a 
_ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec 
+ 1206
18  HIToolbox                           0x00007fff8b8671e9 
_ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec
 + 410
19  HIToolbox                           0x00007fff8b87cfc9 
SendEventToEventTarget + 40
20  AppKit                              0x00007fff8d0b0616 _DPSNextEvent + 912
21  AppKit                              0x00007fff8d0afdf2 -[NSApplication 
nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
22  AppKit                              0x00007fff8d0a71a3 -[NSApplication run] 
+ 517
23  AppKit                              0x00007fff8d04bbd6 NSApplicationMain + 
869
24  EnTeP                               0x0000000100037e92 main + 34
25  EnTeP                               0x0000000100001404 start + 52
26  ???                                 0x0000000000000003 0x0 + 3
2013-09-28 14:45:15.791 EnTeP[95278:303] -[DriftView drawRect:] 0x104c23140 
nice rect {{0, 0}, {1393, 189}}; visibleRect {{0, 0}, {1393, 189}}


2. immediately followed by 1-pixel rect:

2013-09-28 14:45:15.859 EnTeP[95278:303] -[DriftView drawRect:] backtrace 26 
frames
0   EnTeP                               0x000000010003c5c7 -[DriftView 
drawRect:] + 135
1   AppKit                              0x00007fff8d0f2140 -[NSView 
_drawRect:clip:] + 4437
2   AppKit                              0x00007fff8d0eefb3 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 3058
3   AppKit                              0x00007fff8d0efa44 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 5763
4   AppKit                              0x00007fff8d0efa44 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 5763
5   AppKit                              0x00007fff8d0efa44 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 5763
6   AppKit                              0x00007fff8d0efa44 -[NSView 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 5763
7   AppKit                              0x00007fff8d0ee143 -[NSThemeFrame 
_recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
 + 314
8   AppKit                              0x00007fff8d0e9d6d -[NSView 
_displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4675
9   AppKit                              0x00007fff8d0b3c93 -[NSView 
displayIfNeeded] + 1830
10  AppKit                              0x00007fff8d0b31cc 
_handleWindowNeedsDisplayOrLayoutOrUpdateConstraints + 738
11  AppKit                              0x00007fff8d67e901 __83-[NSWindow 
_postWindowNeedsDisplayOrLayoutOrUpdateConstraintsUnlessPostingDisabled]_block_invoke_01208
 + 46
12  CoreFoundation                      0x00007fff8c7bb417 
__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
13  CoreFoundation                      0x00007fff8c7bb381 
__CFRunLoopDoObservers + 369
14  CoreFoundation                      0x00007fff8c7967b8 __CFRunLoopRun + 728
15  CoreFoundation                      0x00007fff8c7960e2 CFRunLoopRunSpecific 
+ 290
16  HIToolbox                           0x00007fff8b88eeb4 
RunCurrentEventLoopInMode + 209
17  HIToolbox                           0x00007fff8b88eb94 
ReceiveNextEventCommon + 166
18  HIToolbox                           0x00007fff8b88eae3 
BlockUntilNextEventMatchingListInMode + 62
19  AppKit                              0x00007fff8d0b0533 _DPSNextEvent + 685
20  AppKit                              0x00007fff8d0afdf2 -[NSApplication 
nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
21  AppKit                              0x00007fff8d0a71a3 -[NSApplication run] 
+ 517
22  AppKit                              0x00007fff8d04bbd6 NSApplicationMain + 
869
23  EnTeP                               0x0000000100037e92 main + 34
24  EnTeP                               0x0000000100001404 start + 52
25  ???                                 0x0000000000000003 0x0 + 3
2013-09-28 14:45:15.868 EnTeP[95278:303] -[DriftView drawRect:] 0x104c23140 
Ignore very small rect {{0, 0}, {1, 1}}; visibleRect {{0, 0}, {1393, 189}}


No idea why this 4-fold recursion to draw my view.

Gerriet.


_______________________________________________

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