diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as index 4b82453746c5b7f62ac937f28687f9b8a5e70278..6a5c46de6dd9f65bc718e2e9898dadf6d47a553a 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as @@ -276,10 +276,13 @@ package org.bigbluebutton.main.api } public function handleUserLeftEvent(event:UserLeftEvent):void { + trace("Got notification that user [" + event.userID + "] has left the meeting"); + var payload:Object = new Object(); var user:BBBUser = UserManager.getInstance().getConference().getUser(event.userID); if (user == null) { + trace("[ExternalApiCall:handleParticipantJoinEvent] Cannot find user with ID [" + event.userID + "]"); LogUtil.warn("[ExternalApiCall:handleParticipantJoinEvent] Cannot find user with ID [" + event.userID + "]"); return; } @@ -287,6 +290,8 @@ package org.bigbluebutton.main.api payload.eventName = EventConstants.USER_LEFT; payload.userID = UsersUtil.internalUserIDToExternalUserID(user.userID); + trace("Notifying JS API that user [" + payload.userID + "] has left the meeting"); + broadcastEvent(payload); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as index c63b42bf14c9a6e5101ef13d72145df92624a45c..0851b29a9550a09402b543279a6833f29e598ae0 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as @@ -215,12 +215,14 @@ package org.bigbluebutton.main.model.users { public function participantLeft(userID:String):void { var user:BBBUser = UserManager.getInstance().getConference().getUser(userID); - UserManager.getInstance().getConference().removeUser(userID); - - + trace("Notify others that user [" + user.userID + "] has left!!!!"); + var joinEvent:UserLeftEvent = new UserLeftEvent(UserLeftEvent.LEFT); joinEvent.userID = user.userID; dispatcher.dispatchEvent(joinEvent); + + UserManager.getInstance().getConference().removeUser(userID); + } public function participantJoined(joinedUser:Object):void {