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 dae0476f3d..ab0401d4a8 100755
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 27009b505a..180805bb7d 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 de9cc9a50c..38afed12af 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, useTLS , roomNumber, fullScreen, useSVC2)
{
+ var deskshareElement = document.getElementById("deskshare");
+ if (deskshareElement == null) {
+
console.log("Starting deskshare applet.");
var div = document.createElement("div");
div.id = "deskshare";
@@ -21,15 +24,40 @@ function startApplet(IP, useTLS , 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);
}
}
@@ -143,4 +171,4 @@ function checkJavaVersion(minJavaVersion) {
}
}
-}
\ No newline at end of file
+}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
index 08d6f34215..7b15d9a882 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
@@ -42,11 +42,8 @@ with BigBlueButton; if not, see .
import com.asfusion.mate.events.Dispatcher;
import mx.managers.PopUpManager;
import org.bigbluebutton.core.BBB;
- import org.bigbluebutton.main.api.JSAPI;
import org.bigbluebutton.main.api.JSLog;
- import org.bigbluebutton.main.events.BBBEvent;
import org.bigbluebutton.modules.phone.PhoneModel;
- import org.bigbluebutton.modules.phone.PhoneOptions;
import org.bigbluebutton.modules.phone.events.WebRTCCallEvent;
import org.bigbluebutton.modules.phone.events.WebRTCEchoTestEvent;
import org.bigbluebutton.modules.phone.events.WebRTCEchoTestStartedEvent;
@@ -115,12 +112,7 @@ with BigBlueButton; if not, see .
private function noButtonClicked():void {
userClosed = true;
trace(LOG + "Echo test failed.");
-
- var logData:Object = new Object();
- logData.reason = "User requested.";
- logData.user = UsersUtil.getUserData();
- JSLog.info("WebRtc Echo test failed.", logData);
-
+
var dispatcher:Dispatcher = new Dispatcher();
dispatcher.dispatchEvent(new WebRTCEchoTestEvent(WebRTCEchoTestEvent.WEBRTC_ECHO_TEST_NO_AUDIO));
onCancelClicked();
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 f22cbcc4f8..f61ab9f710 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
@@ -102,6 +102,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;
@@ -342,15 +344,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/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
index 1a01fb3eed..0157c83ff1 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
@@ -6,13 +6,13 @@ package org.bigbluebutton.modules.phone.managers
import flash.external.ExternalInterface;
import flash.utils.Timer;
- import flexlib.scheduling.timelineClasses.TimeRangeDescriptorUtil;
-
import mx.controls.Alert;
import mx.events.CloseEvent;
+ import org.bigbluebutton.main.api.JSLog;
import org.bigbluebutton.core.UsersUtil;
import org.bigbluebutton.main.api.JSAPI;
+ import org.bigbluebutton.main.api.JSLog;
import org.bigbluebutton.main.events.ClientStatusEvent;
import org.bigbluebutton.modules.phone.PhoneModel;
import org.bigbluebutton.modules.phone.PhoneOptions;
@@ -29,7 +29,7 @@ package org.bigbluebutton.modules.phone.managers
import org.bigbluebutton.modules.phone.events.WebRTCMediaEvent;
import org.bigbluebutton.modules.phone.models.Constants;
import org.bigbluebutton.modules.phone.models.WebRTCModel;
- import org.bigbluebutton.util.i18n.ResourceUtil;
+ import org.bigbluebutton.util.i18n.ResourceUtil;
public class WebRTCCallManager
{
@@ -196,6 +196,11 @@ package org.bigbluebutton.modules.phone.managers
errorString = ResourceUtil.getInstance().getString("bbb.webrtcWarning.failedError.unknown", [event.errorCode]);
}
+ var logData:Object = new Object();
+ logData.reason = errorString;
+ logData.user = UsersUtil.getUserData();
+ JSLog.warn("WebRtc Echo test failed.", logData);
+
sendWebRTCAlert(ResourceUtil.getInstance().getString("bbb.webrtcWarning.title"), ResourceUtil.getInstance().getString("bbb.webrtcWarning.message", [errorString]), errorString);
}
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 91eb95f8f3..0765c3ab57 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
@@ -201,7 +201,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 ){
@@ -215,6 +217,7 @@ public class DeskShareApplet extends JApplet implements ClientListener {
}else{
client.stop();
}
+ */
}
}