Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Non opaque component painting bug



Sciss wrote:

>; the shadow of the gadget dial in "Bild
>6.png" is particularly weired as the actual component sits at a
>different place in the tab pane.

Reading Florian's recent post:
  <http://lists.apple.com/archives/java-dev/2006/May/msg00522.html>

the displaced rendering looks familiar.  Going back to your post and
looking at images (not attached to digest version of list) is also familiar.

There was a bug in the original Java 1.4.2_07 that shipped with 10.4.0,
which wasn't fixed until the 1.4.2_09 update was released (requires 10.4.2,
IIRC).  That bug caused the coordinates where a custom Component was
rendered to be semi-randomly placed within the window.  There was no way to
predict where it would render, whether it would render, or whether what it
rendered would or wouldn't be overwritten by some other component's
rendering.  This made the standard 10.4.0 and 10.4.1 OS releases totally
unusable for some apps I had written that had a custom component.

However, that bug was fixed in 1.4.2_09, and did not reappear in any of the
1.5's I tested for it.

The reason I mention this is that the location of the shadow is quite far
away from the dial, yet is at roughly the same place relative to a randomly
chosen component.  That's a distinctive symptom of the older bug: the
relative offset is correct, but the base location the offset is measured
from is utterly the wrong container, and apparently chosen at random.

Unfortunately, I don't have a record of the bug-ID, nor could I find its
description in any of the release notes, so I can't say whether it's the
same or not.
  <http://developer.apple.com/releasenotes/Java/>

I can't speak to the other problems, like the double-overpaint.  Without
knowing the container hierarchy and the opacity of the elements, it's gonna
be difficult to diagnose.  In fact, I think it's going to be difficult to
diagnose without some kind of simplified and repeatable test-case that
exhibits the symptoms.

There's a mention of a deferred-drawing update flag here:

<http://developer.apple.com/releasenotes/Java/Java142RNTiger/1_NewFeatures/chapt
er_2_section_3.html>

Maybe relevant, maybe not.

Another thought is to use Quartz Debug.app (installed with Developer Tools,
located under /Developer/Applications/), and enable one or more of its
Flash checkboxes, to help identify what gets drawn, or what DOESN'T get
drawn.  Warning: it can seriously slow down drawing.

  -- GG


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.