Dirty fix for problem switching to 3d rendering the first time.
This commit is contained in:
parent
8189da9de1
commit
9b96dabb16
@ -645,6 +645,20 @@ public class RocketFigure3d extends JPanel implements GLEventListener {
|
||||
}
|
||||
|
||||
public void setType(final int t) {
|
||||
// The first time the user selects any 3d figure types, the canvas' internal _drawable
|
||||
// has not been realized. Unfortunately, there is a test in canvas.invoke which doesn't
|
||||
// execute the runnable if the drawable isn't realized.
|
||||
// In order to trump this, we test if the canvas has not been realized and initialize
|
||||
// the renderer accordingly. There is certainly a better way to do this.
|
||||
if (!canvas.isRealized()) {
|
||||
if (t == TYPE_FIGURE) {
|
||||
rr = new FigureRenderer();
|
||||
} else if (t == TYPE_FINISHED) {
|
||||
rr = new RealisticRenderer(document);
|
||||
} else if (t == TYPE_UNFINISHED) {
|
||||
rr = new UnfinishedRenderer(document);
|
||||
}
|
||||
}
|
||||
canvas.invoke(true, new GLRunnable() {
|
||||
@Override
|
||||
public boolean run(GLAutoDrawable drawable) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user