<< Back to previous view

[SWINGX-1534] Weird behaviour of existing applications Created: 17/Nov/12  Updated: 28/Nov/12  Resolved: 19/Nov/12

Status: Closed
Project: swingx
Component/s: Painter
Affects Version/s: None
Fix Version/s: 1.6.5

Type: Bug Priority: Blocker
Reporter: kleopatra Assignee: Karl Schaefer
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: jxpanel painting
Participants: Karl Schaefer and kleopatra

 Description   

when run against current swingx.

showing up f.i. in the demos:

  • hangs on startup before text-slidein: intro-image is showing, but looks cloudy, app doesn't react at all to any input event, must be hard-killed
  • running the painter-demo as stand-alone (need to comment the application context injection), showing artefacts when changing the painter: f.i. choose imagePainter/bigPainter, than any other: the new is painted on top of the image, plus some of the "surroundings" (f.i. the tree chooser) - only resizing helps to get rid off those

Didn't dig further, just guessing that it might be related to the recent fixes in the painting logic? If not, will look into earlier commits (lazy me



 Comments   
Comment by Karl Schaefer [ 19/Nov/12 06:21 PM ]

Painters do not necessary fill the entire clip. RepaintManager reuses the same backing buffer. If the client does not clean the clip, then visual artifacts can show through.

This will be a simple change to SwingXUtilities.paintBackground.

Comment by Karl Schaefer [ 19/Nov/12 06:40 PM ]

SWINGX-1534: Ensure that we paint the background behind the painter, when the component is requires background painting (such as when it is opaque). This prevents visual arfifacts from sneaking in because painters may not cover the entire clip.

swingx-core/src/main/java/org/jdesktop/swingx/SwingXUtilities.java

Committed revision 4262.

Comment by kleopatra [ 20/Nov/12 11:38 AM ]

that was quick, thanks

Fixes the artefact, but not the initial hanging. Any ideas on that?

Comment by Karl Schaefer [ 20/Nov/12 06:48 PM ]

I tested it with the stuff in the swingx repo and there are no issues. Perhaps some change between that and the one in the demos has caused it? I don't keep up with that one.

Comment by kleopatra [ 21/Nov/12 11:24 AM ]

Well, swinglabs-demos is still our reference real-world application - that breaking shows us how existing code will break on changes

So, the other way round: any implicit changes in the swingx rep that might break the real-world stuff? Couldn't see anything obvious ..

Comment by kleopatra [ 21/Nov/12 03:38 PM ]

got it: hangs if run with jdk7, okay if run with jdk6 (both demos project and swingx rep)

Happens somewhere around animating the alpha property in DemoXPanel.

Comment by Karl Schaefer [ 27/Nov/12 07:47 PM ]

SWINGX-1534: Fix isPaintingOrigin. Only need to return true if we should repaint; RepaintManager will do the right thing and find the highest component that should be repainted and go with it.

swingx-core/src/main/java/org/jdesktop/swingx/JXPanel.java

Committed revision 4264.

Comment by kleopatra [ 28/Nov/12 03:55 PM ]

confirm fix of both bullets

Thanks for the quick work

Generated at Sun Apr 20 09:11:10 UTC 2014 using JIRA 4.0.2#472.