diff --git a/bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar b/bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
index 1d4a06a90e..508975f164 100644
Binary files a/bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar and b/bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar differ
diff --git a/bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar b/bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
index 5df4384975..d27cf1103b 100755
Binary files a/bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar and b/bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar differ
diff --git a/bigbluebutton-client/resources/prod/lib/bbb_deskshare.js b/bigbluebutton-client/resources/prod/lib/bbb_deskshare.js
index 1728c46bc8..a9b88a21c3 100755
--- a/bigbluebutton-client/resources/prod/lib/bbb_deskshare.js
+++ b/bigbluebutton-client/resources/prod/lib/bbb_deskshare.js
@@ -3,6 +3,9 @@ if (!window.console.log) window.console.log = function () { };
function startApplet(IP, roomNumber, fullScreen, useSVC2)
{
+ var deskshareElement = document.getElementById("deskshare");
+ if (deskshareElement == null) {
+
console.log("Starting deskshare applet.");
var div = document.createElement("div");
div.id = "deskshare";
@@ -20,15 +23,40 @@ function startApplet(IP, roomNumber, fullScreen, useSVC2)
"" +
"";
document.body.appendChild(div);
+ } else {
+ console.log("Deskshare applet element already exists.");
+ var div = document.getElementById("deskshare");
+ if (div.parentNode) {
+ // Just rewrite the applet tag to kick off the applet. We don't remove the applet tag
+ // when desktop sharing is stopped to prevent Firefox (38.0.5) from asking for user permissions
+ // again resulting in the page reloading. (ralam june 17, 2015)
+ // https://code.google.com/p/bigbluebutton/issues/detail?id=1953
+ div.innerHTML =
+ "";
+ }
+ }
}
+
function removeFrame () {
var div = document.getElementById("deskshare");
if (div.parentNode) {
// Need to set the innerHTML otherwise the applet will restart in IE.
// see https://code.google.com/p/bigbluebutton/issues/detail?id=1776
- div.innerHTML = "";
- div.parentNode.removeChild(div);
+ // Do NOT remove the applet tag as it makes Firefox (38.0.5) prompt for
+ // permissions again resulting in the page reloading. (ralam june 17, 2015)
+ // div.innerHTML = "";
+// div.parentNode.removeChild(div);
}
}
@@ -142,4 +170,4 @@ function checkJavaVersion(minJavaVersion) {
}
}
-}
\ No newline at end of file
+}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
index 7fcaf670f2..5b04b24e57 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
@@ -100,6 +100,8 @@ with BigBlueButton; if not, see .
[Bindable] private var baseIndex:int;
[Bindable] private var dsOptions:DeskshareOptions;
+ private var calledStopApplet:Boolean = false;
+
private function init():void {
dsOptions = new DeskshareOptions();
baseIndex = dsOptions.baseTabIndex;
@@ -332,15 +334,24 @@ with BigBlueButton; if not, see .
closeWindow();
}
- private function closeWindow():void {
- ExternalInterface.call("stopApplet");
- dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));
- }
-
- private function restartJava():void {
- ExternalInterface.call("stopApplet");
- shareScreen(sharingFullScreen);
- }
+ private function callStopApplet():void {
+ if (!calledStopApplet) {
+ calledStopApplet = true;
+ trace("Calling stopApplet in callStopApplet()");
+ ExternalInterface.call("stopApplet");
+ }
+ }
+ private function closeWindow():void {
+ trace("Calling stopApplet in closeWindow()");
+ callStopApplet();
+ dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));
+ }
+
+ private function restartJava():void {
+ trace("Calling stopApplet in restartJava()");
+ callStopApplet();
+ shareScreen(sharingFullScreen);
+ }
private function handleDeskshareAppletLaunchedEvent(e:DeskshareAppletLaunchedEvent):void {
if (javaTimer && javaTimer.running) {
diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
index ce83360aec..cb5f0abd74 100755
--- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
+++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java
@@ -192,7 +192,9 @@ public class DeskShareApplet extends JApplet implements ClientListener {
}
public void onClientStop(ExitCode reason) {
- // determine if client is disconnected _PTS_272_
+ client.stop();
+
+ /*
if ( ExitCode.CONNECTION_TO_DESKSHARE_SERVER_DROPPED == reason ){
JFrame pframe = new JFrame("Desktop Sharing Disconneted");
if ( null != pframe ){
@@ -206,6 +208,7 @@ public class DeskShareApplet extends JApplet implements ClientListener {
}else{
client.stop();
}
+ */
}
}