On Thu, 21 Oct 2021 12:19:43 GMT, Masanori Yano <my...@openjdk.org> wrote:

> Could you please review the 8275715 bug fixes?
> 
> I think D3DScreenUpdateManager posts unnecessary PaintEvent during processing 
> PaintEvent. When the validate method is called from createGraphics, 
> repaintPeerTarget should not be called.

src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java 
line 455:

> 453:                             rq.unlock();
> 454:                         }
> 455:                     } else if (!validate(sd, true)) {

The comment below says that "the surface will also trigger a repaint", will it 
be possible we will trigger it inside validate here and then later inside 
"replaceSurfaceDataLater"?

test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java line 
36:

> 34: public class MultiPaintEventTest extends Canvas {
> 35: 
> 36:     private int count = 0;

Some synchronization is needed, the field is updated on EDT and checked on the 
main thread.

test/jdk/sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java line 
75:

> 73:                 throw new RuntimeException("Processed unnecessary 
> paint().");
> 74:             }
> 75:         } catch (InterruptedException ex) {

Do not ignore an exception

-------------

PR: https://git.openjdk.java.net/jdk/pull/6064

Reply via email to