Re: NSWindow displaying asynchronously starting in 10.11

2015-11-30 Thread Jerry Krinock

> On 2015 Nov 30, at 14:35, Quincey Morris 
>  wrote:
> 
> I’m not aware that the APIs you mention in 1 and 2 have any known contract 
> about when they have their effect. It could be synchronous or asynchronous, 
> and it could be now or later.

You are correct.  But after 20 years, seems like a little comment in the 
Release Notes would have been warranted.

> 1. Sending ‘display’ is likely a code smell anyway.

Yes,.  I discovered the problem while throwing together a quick demo last week, 
not in a shipping product :)

> 2. It’s always been true that the panel is still displayed during its 
> completion handler.

True.  Now, though, we get a white rectangle.

> The correct approach has always been to retrieve the result URL(s) you want, 
> then orderOut: the panel before doing something else in the completion handler

I just tried adding an -orderOut before the 5-second sleep in my demo.  Still 
get a white rectangle for 5 seconds.  Weird that the white rectangle is larger 
than the panel.  I think maybe it includes the entire tail of the shadow.

> I’m not sure that 3 has anything to do with windows or synchronicity. I think 
> it’s more about changes in the way CALayers behave**. When I restart my 
> elderly iMac 27”, I frequently see black Finder windows during the time that 
> iTunes starting up seems to put a stranglehold on the system.

Yes, I’ll buy that.  White Rectangles = something.  Black Rectangles = 
something else.



___

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

Re: NSWindow displaying asynchronously starting in 10.11

2015-11-30 Thread Quincey Morris
On Nov 30, 2015, at 21:53 , Jerry Krinock  wrote:

>> The correct approach has always been to retrieve the result URL(s) you want, 
>> then orderOut: the panel before doing something else in the completion 
>> handler
> 
> I just tried adding an -orderOut before the 5-second sleep in my demo.  Still 
> get a white rectangle for 5 seconds.  Weird that the white rectangle is 
> larger than the panel.  I think maybe it includes the entire tail of the 
> shadow.

Er, I didn’t say it quite right. If you wanted to display another sheet, you 
needed to orderOut: the open panel sheet first. That never really helped with 
unblocking the main thread, though, and a blocked main thread may mean display 
updates don’t happen.
___

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