|
From: <eli...@us...> - 2006-11-20 08:14:51
|
Revision: 2671
http://svn.sourceforge.net/java-game-lib/?rev=2671&view=rev
Author: elias_naur
Date: 2006-11-20 00:14:50 -0800 (Mon, 20 Nov 2006)
Log Message:
-----------
Windows: Destroy the keyboard when we create a new one
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java 2006-11-20 08:04:56 UTC (rev 2670)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsAWTInput.java 2006-11-20 08:14:50 UTC (rev 2671)
@@ -68,10 +68,19 @@
if (cached_mouse != null) {
grab(false);
cached_mouse.destroy();
+ cached_mouse = null;
}
super.destroyMouse();
}
+ public synchronized void destroyKeyboard() {
+ if (cached_keyboard != null) {
+ cached_keyboard.destroy();
+ cached_keyboard = null;
+ }
+ super.destroyKeyboard();
+ }
+
public synchronized void processInput(PeerInfo peer_info) {
WindowsPeerInfo windows_peerinfo = (WindowsPeerInfo)peer_info;
long hwnd = windows_peerinfo.getHwnd();
@@ -80,8 +89,12 @@
if (cached_mouse == null || hwnd != cached_hwnd) {
has_grabbed = false;
cached_hwnd = hwnd;
- if (cached_mouse != null)
+ if (cached_mouse != null) {
cached_mouse.destroy();
+ }
+ if (cached_keyboard != null) {
+ cached_keyboard.destroy();
+ }
WindowsDirectInput dinput = WindowsDisplay.createDirectInput();
cached_mouse = new WindowsMouse(dinput, hwnd);
cached_keyboard = new WindowsKeyboard(dinput, hwnd);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|