Closing a different stream to prevent a problem. Also, added
an explicit catch and rethrow of a NullPointerException with a comment
so that this doesn't get 'fixed', as fixing it would break the applet
for some reason i don't understand.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2539 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
index 490b2bc..7a767f1 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
@@ -190,6 +190,9 @@
}
rfb.newSession(url);
vc.updateFramebufferSize();
+ } catch (NullPointerException e) {
+ // catching this causes a hang with 1.4.1 JVM's under Win32 IE
+ throw e;
}
}
@@ -389,6 +392,7 @@
} catch (InterruptedException e) {
}
if (inSeparateFrame) {
+ vncFrame.removeWindowListener(this);
vncFrame.dispose();
}
}
diff --git a/java/src/com/tightvnc/rfbplayer/RfbProto.java b/java/src/com/tightvnc/rfbplayer/RfbProto.java
index c5af418..c603148 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbProto.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbProto.java
@@ -84,7 +84,7 @@
public void quit() {
fbs.quit();
try {
- is.close();
+ fbs.close();
} catch (IOException e) {
System.out.println("IOException quitting RfbProto: " + e);
}