[FIXED] Can't call Display.update() on EDT under Linux

Started by NateS, August 16, 2011, 06:42:38

Previous topic - Next topic

NateS

For integration with Swing apps, libgdx uses OpenGL on the EDT. Apparently this explodes under Linux. LWJGL 2.7.1. Code:
http://code.google.com/p/libgdx/source/browse/trunk/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglCanvas.java#164

Exception:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Cannot call invokeAndWait from the event dispatcher thread
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1025)
at org.lwjgl.opengl.LinuxDisplay.edtSetCanvasFocus(LinuxDisplay.java:915)
at org.lwjgl.opengl.LinuxDisplay.setFocused(LinuxDisplay.java:905)
at org.lwjgl.opengl.LinuxDisplay.processEvents(LinuxDisplay.java:762)
at org.lwjgl.opengl.LinuxDisplay.update(LinuxDisplay.java:797)
at org.lwjgl.opengl.Display.processMessages(Display.java:634)
at org.lwjgl.opengl.Display.update(Display.java:692)
at org.lwjgl.opengl.Display.update(Display.java:662)
...


Any ideas?

kappa

can you try with the nightly builds of LWJGL 2.8? I believe there was something fixed in this area not too long ago. That method LinuxDisplay.edtSetCanvasFocus() no longer even exists.

kappa

marking this as fixed as its essentially the same issue as this report.