From c0a35626efa8144e266ae1c1cf711972cf31be69 Mon Sep 17 00:00:00 2001 From: "nor..67" Date: Mon, 31 Oct 2011 00:43:44 +0000 Subject: [PATCH] - SDK: attach awt panel on OGL thread git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8559 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../com/jme3/gde/core/scene/SceneApplication.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java index 8d64705e2..373565342 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/scene/SceneApplication.java @@ -161,17 +161,27 @@ public class SceneApplication extends Application implements LookupProvider, Loo public Component getMainPanel() { if (useCanvas) { - return ((JmeCanvasContext)getContext()).getCanvas(); + return ((JmeCanvasContext) getContext()).getCanvas(); } else { if (panel == null) { panel = ((AwtPanelsContext) getContext()).createPanel(PaintMode.Accelerated); - panel.attachTo(true, viewPort, overlayView, guiViewPort); ((AwtPanelsContext) getContext()).setInputSource(panel); + attachPanel(); } return panel; } } + private void attachPanel() { + enqueue(new Callable() { + + public Object call() throws Exception { + panel.attachTo(true, viewPort, overlayView, guiViewPort); + return null; + } + }); + } + public ViewPort getOverlayView() { return overlayView; }