title: What does "AL lib: alc_cleanup: 1 device not closed" mean?
body: <p>I'm trying to engage myself into the Libgdx OpenGL framework. I've used <code>LwjglApplication</code> for creating some simple apps that render boxes, some meshes and some textures. I came across Aurelien Ribon's app that creates rigid Box2D bodies. He used the <code>LwjglCanvas</code> to integrate with Java's Swing. I tried making one myself, I created a <code>JFrame</code> then added the <code>LwjglCanvas</code>. Then set the <code>JFrame</code>'s default operation on close to <code>EXIT_ON_CLOSE</code>.</p>
  
  <p>However everytime I close the application, this logs to my console:</p>
  
  <p><code>AL lib: alc_cleanup: 1 device not closed</code>.</p>
  
  <p>I don't know what it means and it's not doing me any harm. I just want to know what it means. According to <code>LwjglCanvas</code> docs:</p>
  
  <p><code>All OpenGL calls are done on the EDT. This is slightly less efficient then a dedicated thread, but greatly simplifies synchronization. Note that you may need to call stop() or a Swing application may deadlock on System.exit due to how LWJGL and/or Swing deal with shutdown hooks.</code></p>
  
  <p>Where should I bind the <code>LwjglCanvas.stop()</code>, should I add it to the <code>EventDispatchThread</code> queue or should I bind it to the <code>JFrame.addWindowListener</code>?</p>
  
  <p>And what does "AL lib: alc_cleanup: 1 device not closed" really mean?</p>
  
  <p>Thanks a lot!</p>