[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-2d-dev
Subject: Re: [OpenJDK 2D-Dev] Review Request for bug (JDK-8039345) Strange behaviour of per-pixel translucenc
From: prasanta sadhukhan <prasanta.sadhukhan () oracle ! com>
Date: 2015-02-24 11:38:30
Message-ID: 54EC5FE6.8010603 () oracle ! com
[Download RAW message or body]
Thanks Alexander.
Here is the updated webrev
http://cr.openjdk.java.net/~serb/prasanta/8039345/webrev.02
Regards
Prasanta
On 2/19/2015 8:55 PM, Alexander Zvegintsev wrote:
> > Could you explain bit more? not sure I understand what you wanted me
> > to do?
>
> In current version of test all swing methods(including JFrame
> constructor) are invoked on the main thread,
> this can lead to some vague issues. To avoid such issues they should
> be wrapped with SwingUtilities.invokeAndWait()
> or with SwingUtilities.invokeLater(). For example in
> bug6505523.java[0] all swing related calls are placed
> on EDT, all robot related are placed on the main thread.
> You can grep through tests directory to find other usages.
>
> BTW, there are many unused imports in the test and ComponentResizeTest
> extends JFrame for no reason.
>
> [0]
> http://hg.openjdk.java.net/jdk9/client/jdk/file/c867d4d46b58/test/javax/swing/JTree/6505523/bug6505523.java
>
> Thanks,
>
> Alexander.
>
> On 02/19/2015 04:56 PM, prasanta sadhukhan wrote:
> > Hi ALexander.
> > On 2/19/2015 6:55 PM, Alexander Zvegintsev wrote:
> > > Hello Prasanta,
> > >
> > > I have a couple of comments regarding the test:
> > >
> > > We should invoke swing methods on EDT [0].
> > >
> > Could you explain bit more? not sure I understand what you wanted me
> > to do?
> > > I think that this test might be improved by showing an instruction
> > > window before test begins. Instruction should explain what is about
> > > to happen, what behavior is correct. Tester will get a better
> > > understanding
> > > of what to expect from the test, he will not miss the test start in
> > > case
> > > if he gets distracted.
> > >
> > Ok. will do.
> >
> > Regards
> > Prasanta
> > > [0]
> > > http://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html
> > >
> > >
> > > Thanks,
> > >
> > > Alexander.
> > >
> > > On 02/17/2015 03:43 PM, prasanta sadhukhan wrote:
> > > > A reg. testcase is added to the webrev
> > > > http://cr.openjdk.java.net/~serb/prasanta/8039345/webrev.01/
> > > > Regarding the transparency parameter, I decided not to remove it as
> > > > of now for firstly, it has no bearing on this bug as per our
> > > > testing and secondly, it might be needed in future.
> > > >
> > > > Regards
> > > > Prasanta
> > > > On 2/14/2015 1:33 AM, Phil Race wrote:
> > > > > I tried again and this time it works for me so it seems like it
> > > > > was a false alarm.
> > > > > If the transparency parameter is really un-needed then you can
> > > > > remove it but
> > > > > you should take a look to see if it appears to be an oversight
> > > > > that it is not used
> > > > > A reg. test for this fix is desirable.
> > > > >
> > > > > -phil.
> > > > >
> > > > > On 02/13/2015 04:08 AM, prasanta sadhukhan wrote:
> > > > > > I tried my fix on latest ubuntu14.04 and it seems to work for me,
> > > > > > the checkbox and button gets painted without any trails and
> > > > > > without any exception.
> > > > > > Also, regarding Clemens suggestion that "Transparency.OPAQUE is
> > > > > > also passed to the super constructor of XRWindowSurfaceData" it
> > > > > > is observed that the "transparancy" parameter is not used in the
> > > > > > super constructor so it shouldn't have any effect on this
> > > > > > particular bug, maybe we can remove the parameter from the super
> > > > > > constructor for its lack of use.
> > > > > >
> > > > > > Regards
> > > > > > Prasanta
> > > > > > On 2/10/2015 3:34 AM, Phil Race wrote:
> > > > > > > I tried this on Ubuntu (13.04) with the test case in the bug
> > > > > > > (BTW there should be a regression test
> > > > > > > along with this fix) and I get a nasty exception (as below) and
> > > > > > > the checkbox and button don't get painted.
> > > > > > >
> > > > > > > Exception in thread "AWT-EventQueue-0"
> > > > > > > java.lang.NullPointerException
> > > > > > > at
> > > > > > > sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:196)
> > > > > > > at sun.java2d.SunGraphics2D.copyImage(SunGraphics2D.java:3232)
> > > > > > > at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3396)
> > > > > > > at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3345)
> > > > > > > at
> > > > > > > java.awt.Component$BltBufferStrategy.showSubRegion(Component.java:4472) \
> > > > > > >
> > > > > > > at
> > > > > > > java.awt.Component$BltSubRegionBufferStrategy.show(Component.java:4597) \
> > > > > > >
> > > > > > > at
> > > > > > > javax.swing.BufferStrategyPaintManager.flushAccumulatedRegion(BufferStrategyPaintManager.java:371)
> > > > > > > at
> > > > > > > javax.swing.BufferStrategyPaintManager.endPaint(BufferStrategyPaintManager.java:333)
> > > > > > > at
> > > > > > > javax.swing.RepaintManager.endPaint(RepaintManager.java:1387)
> > > > > > > at javax.swing.JComponent.paint(JComponent.java:1041)
> > > > > > > at
> > > > > > > java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
> > > > > > >
> > > > > > > at
> > > > > > > sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79) \
> > > > > > >
> > > > > > > at
> > > > > > > sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116) \
> > > > > > >
> > > > > > > at java.awt.Container.paint(Container.java:1997)
> > > > > > > at java.awt.Window.paint(Window.java:3929)
> > > > > > > at javax.swing.RepaintManager$4.run(RepaintManager.java:851)
> > > > > > > at javax.swing.RepaintManager$4.run(RepaintManager.java:823)
> > > > > > > at java.security.AccessController.doPrivileged(Native Method)
> > > > > > > at
> > > > > > > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> > > > > > > at
> > > > > > > javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823)
> > > > > > >
> > > > > > > at
> > > > > > > javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:798)
> > > > > > >
> > > > > > > at
> > > > > > > javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:747) \
> > > > > > >
> > > > > > > at
> > > > > > > javax.swing.RepaintManager.access$1300(RepaintManager.java:65)
> > > > > > > at
> > > > > > > javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1751)
> > > > > > > at
> > > > > > > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> > > > > > > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:759)
> > > > > > > at java.awt.EventQueue.access$500(EventQueue.java:97)
> > > > > > > at java.awt.EventQueue$3.run(EventQueue.java:712)
> > > > > > > at java.awt.EventQueue$3.run(EventQueue.java:706)
> > > > > > > at java.security.AccessController.doPrivileged(Native Method)
> > > > > > > at
> > > > > > > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> > > > > > > at java.awt.EventQueue.dispatchEvent(EventQueue.java:729)
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:190)
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:115)
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:104)
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:100)
> > > > > > >
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:92)
> > > > > > >
> > > > > > > at
> > > > > > > java.awt.EventDispatchThread.run(EventDispatchThread.java:81)
> > > > > > >
> > > > > > > -phil.
> > > > > > >
> > > > > > > On 02/05/2015 03:31 AM, prasanta sadhukhan wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > Please review a fix for this issue:
> > > > > > > > 8039345 Strange behaviour of per-pixel translucency on linux
> > > > > > > >
> > > > > > > > Bug description: https://bugs.openjdk.java.net/browse/JDK-8039345
> > > > > > > > webrev:
> > > > > > > > http://cr.openjdk.java.net/~serb/prasanta/8039345/webrev.00/
> > > > > > > >
> > > > > > > > Note: A wrong (PictStandardRGB24) picture format was used for
> > > > > > > > xrendering even for surface having alpha support thereby
> > > > > > > > neglecting the alpha transparency. It should be using
> > > > > > > > PictStandardARGB32 or TRANSLUCENT picture format for correct
> > > > > > > > alpha support in xrendered surface.
> > > > > > > >
> > > > > > > > Regards
> > > > > > > > Prasanta
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic