diff --git a/src/java/com/threerings/media/BackFrameManager.java b/src/java/com/threerings/media/BackFrameManager.java index d81625aa..61b945e0 100644 --- a/src/java/com/threerings/media/BackFrameManager.java +++ b/src/java/com/threerings/media/BackFrameManager.java @@ -21,6 +21,7 @@ package com.threerings.media; +import java.awt.Component; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Rectangle; @@ -84,7 +85,7 @@ public class BackFrameManager extends FrameManager // we cache our frame's graphics object so that we can avoid // instantiating a new one on every tick if (_fgfx == null) { - _fgfx = (Graphics2D)_window.getGraphics(); + _fgfx = (Graphics2D)((Component)_root).getGraphics(); } _fgfx.drawImage(_backimg, 0, 0, null); diff --git a/src/java/com/threerings/media/FrameManager.java b/src/java/com/threerings/media/FrameManager.java index 59da1b9e..7ef12aca 100644 --- a/src/java/com/threerings/media/FrameManager.java +++ b/src/java/com/threerings/media/FrameManager.java @@ -152,7 +152,8 @@ public abstract class FrameManager */ public static FrameManager newInstance (ManagedRoot root, MediaTimer timer) { - FrameManager fmgr = _useFlip.getValue() ? new FlipFrameManager() : new BackFrameManager(); + FrameManager fmgr = (root instanceof ManagedJFrame && _useFlip.getValue()) ? + new FlipFrameManager() : new BackFrameManager(); fmgr.init(root, timer); return fmgr; } @@ -328,7 +329,7 @@ public abstract class FrameManager _timer = timer; // set up our custom repaint manager - _repainter = new ActiveRepaintManager(_window); + _repainter = new ActiveRepaintManager((Component)_root); RepaintManager.setCurrentManager(_repainter); // turn off double buffering for the whole business because we handle repaints diff --git a/src/java/com/threerings/media/ManagedJApplet.java b/src/java/com/threerings/media/ManagedJApplet.java index 14177499..e60d2cf6 100644 --- a/src/java/com/threerings/media/ManagedJApplet.java +++ b/src/java/com/threerings/media/ManagedJApplet.java @@ -43,6 +43,7 @@ public class ManagedJApplet extends JApplet public void init (FrameManager fmgr) { _fmgr = fmgr; + setIgnoreRepaint(true); } // from interface FrameManager.ManagedRoot