-
Bug
-
Resolution: Fixed
-
P3
-
fx2.0
From David:
When the user-agent stylesheet is added, the StyleHelper cache needs to be cleared so that new styles can be calculated. This means that any existing StyleHelper is no longer valid and nodes need to reapply CSS. This becomes problematic, however, since the code is in the middle of reapplying CSS when this call happens. The fix here is to change StyleHelper in Node to be a Reference. Thus, if the StyleHelper is cache cleared on by the StyleManager, the Node will know to recreate its StyleHelper since the referent will be null.
The patch is attached. This patch still needs further testing. One thing in particular is to see if this causes the StyleHelper's calculated value cache to leak.
When the user-agent stylesheet is added, the StyleHelper cache needs to be cleared so that new styles can be calculated. This means that any existing StyleHelper is no longer valid and nodes need to reapply CSS. This becomes problematic, however, since the code is in the middle of reapplying CSS when this call happens. The fix here is to change StyleHelper in Node to be a Reference. Thus, if the StyleHelper is cache cleared on by the StyleManager, the Node will know to recreate its StyleHelper since the referent will be null.
The patch is attached. This patch still needs further testing. One thing in particular is to see if this causes the StyleHelper's calculated value cache to leak.