aboutsummaryrefslogtreecommitdiff
path: root/src/macosx/classes/sun/lwawt/LWRepaintArea.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/macosx/classes/sun/lwawt/LWRepaintArea.java')
-rw-r--r--src/macosx/classes/sun/lwawt/LWRepaintArea.java25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/macosx/classes/sun/lwawt/LWRepaintArea.java b/src/macosx/classes/sun/lwawt/LWRepaintArea.java
index e67b2fa43..7b7c7e8b6 100644
--- a/src/macosx/classes/sun/lwawt/LWRepaintArea.java
+++ b/src/macosx/classes/sun/lwawt/LWRepaintArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,39 +26,38 @@
package sun.lwawt;
-import sun.awt.RepaintArea;
-
import java.awt.Component;
import java.awt.Graphics;
+import sun.awt.AWTAccessor;
+import sun.awt.RepaintArea;
+
/**
+ * Emulates appearance of heavyweight components before call of the user code.
+ *
* @author Sergey Bylokhov
*/
final class LWRepaintArea extends RepaintArea {
@Override
protected void updateComponent(final Component comp, final Graphics g) {
+ // We shouldn't paint native component as a result of UPDATE events,
+ // just flush onscreen back-buffer.
if (comp != null) {
super.updateComponent(comp, g);
- flushBuffers((LWComponentPeer) comp.getPeer());
+ LWComponentPeer.flushOnscreenGraphics();
}
}
@Override
protected void paintComponent(final Component comp, final Graphics g) {
if (comp != null) {
- final LWComponentPeer peer = (LWComponentPeer) comp.getPeer();
+ Object peer = AWTAccessor.getComponentAccessor().getPeer(comp);
if (peer != null) {
- peer.paintPeer(g);
+ ((LWComponentPeer<?, ?>) peer).paintPeer(g);
}
super.paintComponent(comp, g);
- flushBuffers(peer);
- }
- }
-
- private static void flushBuffers(final LWComponentPeer peer) {
- if (peer != null) {
- peer.flushOnscreenGraphics();
+ LWComponentPeer.flushOnscreenGraphics();
}
}
}