Review request for 7124236: [macosx] Some components lost shadows after the latest fix of translucent windows.

Dmitry Cherepanov dmitry.cherepanov at
Fri Feb 3 04:24:02 PST 2012

Mike Swingler wrote:
> On Jan 31, 2012, at 11:04 AM, Dmitry Cherepanov wrote:
>> The cause of the problem with broken shadows is that currently NSWindow's background color is [NSWindow clearColor] and it makes shadows invisible. The fix implements Mike's suggestion and now we draw pure transparent pixels into a CALayer so that the native background color will be visible through transparent areas of the CALayer.

I'm trying to resolve a regression reproducible with the patch applied.

The problem comes up when application creates a top-level with a 
transparent background (alpha != 0) and then starts rendering something 
fully transparent with SRC composite in paint's callback (the example 
[1] draws a fully transparent circle). My understanding is that the 
content of the CALayer is going to be composited with the top-level's 
background using SRC-OVER composite and the application's drawing will 
be missed. Seems like it closely relates to your suggestion about the 
coordination between the NSWindow's back-buffer drawing and drawing into 
the CALayer. Could you please share your ideas about what's the right 
way to fix it?



More information about the macosx-port-dev mailing list