You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/11/03 05:52:23 UTC

svn commit: r1767820 - in /openmeetings/application/branches: 3.1.x/openmeetings-flash/src/main/swf/base/ 3.1.x/openmeetings-flash/src/main/swf/base/hibernate/ 3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/ 3.1.x/openmeetin...

Author: solomax
Date: Thu Nov  3 05:52:23 2016
New Revision: 1767820

URL: http://svn.apache.org/viewvc?rev=1767820&view=rev
Log:
[OPENMEETINGS-1485] additional fix: hidden items should be updated as expected

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewListInner.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Nov  3 05:52:23 2016
@@ -499,7 +499,7 @@
 		</handler>
 	</netRemoteCallHib>
 	
-	<netRemoteCallHib name="getRoomById" funcname="conferenceservice.getRoomById" >		  
+	<netRemoteCallHib name="getRoomById" funcname="conferenceservice.getRoomById" >
 		<netparam name="sessionId"><method name="getValue">return canvas.sessionId;</method></netparam>
 		<netparam name="roomId"><method name="getValue">return canvas.initroomid;</method></netparam>
 		<handler name="ondata" args="value">
@@ -522,12 +522,12 @@
 		]]>
 		</handler>
 	</netRemoteCallHib>
-		
+
 	<netRemoteCallHib name="getLanguageByIdAndMax" funcname="languageservice.getLanguageByIdAndMax" >
 		<attribute name="start" value="0" type="number" />
 		<attribute name="step" value="100" type="number" />
 		<attribute name="max" value="1607" type="number" />
-		<netparam><method name="getValue">return parent.parent.userlang;</method></netparam> 
+		<netparam><method name="getValue">return parent.parent.userlang;</method></netparam>
 		<netparam><method name="getValue">return parent.start;</method></netparam> 
 		<netparam><method name="getValue">return parent.step;</method></netparam> 
 		<handler name="ondata" args="value">
@@ -660,20 +660,20 @@
 			<netparam><method name="getValue">return canvas.userId;</method></netparam>
 			<netparam><method name="getValue">return canvas.currentuser;</method></netparam>
 			<netparam><method name="getValue">return canvas.firstName;</method></netparam>
-			<netparam><method name="getValue">return canvas.lastName;</method></netparam>	  
+			<netparam><method name="getValue">return canvas.lastName;</method></netparam>
 			<handler name="ondata" args="value">
 				//The onResult-Handler will be called be the rtmpconnection
 				if ($debug) Debug.write("setUsernameAndSession: ",canvas.userId,value);
 				if (canvas.thishib.loaderVar != null) {
 					canvas.thishib.loaderVar.close();
 				}
-			</handler>  
-		</netRemoteCallHib>		
+			</handler>
+		</netRemoteCallHib>
 		
 		<netRemoteCallHib name="testMethod" funcname="testMethod">
 			<handler name="ondata" args="value">
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write("testMethod ",value);				   
+				if ($debug) Debug.write("testMethod ",value);
 			</handler>  
 		</netRemoteCallHib>
 
@@ -747,7 +747,7 @@
 				return;
 			}
 			if (value.screenClient) {
-				if ($debug) Debug.write(" ondata closeStream: ",value.streamPublishName); 
+				if ($debug) Debug.write(" ondata closeStream: ",value.streamPublishName);
 				canvas.commonVideoViewContent.closeScreenSharing(value);
 			} else {
 				//free the VideoContainer
@@ -756,7 +756,7 @@
 				canvas.setAttribute('numberofpartners',canvas.numberofpartners-1);
 			}
 			//TODO:check first current tab
-		</method>  
+		</method>
 		
 		<!---
 			Event is invoked if a red5 stream sharing is closed
@@ -771,8 +771,8 @@
 		<netRemoteCallHib name="clientregisterRoom" funcname="clientregisterRoom">
 			<handler name="ondata" args="value">
 				if ($debug) Debug.write("**** clientregisterRoom::ondata ", value);
-			</handler>   
-		</netRemoteCallHib>   
+			</handler>
+		</netRemoteCallHib>
 
 		<method name="roomDisconnectUser" args="value,id">
 			canvas._videocontainer.disconnectclient(id);
@@ -810,27 +810,27 @@
 		<method name="stopRecordingMessage" args="value">
 			//The onResult-Handler will be called be the rtmpconnection
 			canvas._mymod.recordingUser = null;
-			canvas._mymod.setMessage();				 
+			canvas._mymod.setMessage();
 		</method>
 		
 		<method name="stopPublishingMessage" args="value">
 			//The onResult-Handler will be called be the rtmpconnection
 			canvas._mymod.publishingObj = null;
-			canvas._mymod.setMessage();				 
+			canvas._mymod.setMessage();
 		</method>
 		
-		<netRemoteCallHib name="setSyncFlag" funcname="setSyncFlag" >	  
+		<netRemoteCallHib name="setSyncFlag" funcname="setSyncFlag" >
 			<handler name="ondata" args="value">
 				if ($debug) Debug.write("setSyncFlag: ",value);
 			</handler>
-		</netRemoteCallHib>   
+		</netRemoteCallHib>
 			 
-		<netRemoteCallHib name="logicalRoomLeaveDis" funcname="logicalRoomLeaveDis" >	  
+		<netRemoteCallHib name="logicalRoomLeaveDis" funcname="logicalRoomLeaveDis" >
 			<handler name="ondata" args="value">
 				if ($debug) Debug.write("logicalRoomLeaveDis: ",value);
 				parent.roomDisconnectUser(value, value.broadCastID);
 			</handler>
-		</netRemoteCallHib>			 
+		</netRemoteCallHib>
   
 		<method name="setUserStatus" args="ctx,user,o">
 			<![CDATA[
@@ -904,9 +904,9 @@
 			<handler name="ondata" args="value">
 				<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write(" addModerator : ",value);				   
+				if ($debug) Debug.write(" addModerator : ",value);
 				]]>
-			</handler>   
+			</handler>
 		</netRemoteCallHib>
 		
 		<netRemoteCallHib name="removeModerator" funcname="removeModerator">
@@ -915,9 +915,9 @@
 			<handler name="ondata" args="value">
 				<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				//Debug.write(" onResult setModerator : ",value);				   
+				//Debug.write(" onResult setModerator : ",value);
 				]]>
-			</handler>   
+			</handler>
 		</netRemoteCallHib>
 		
 		<!--
@@ -936,19 +936,16 @@
 			<handler name="ondata" args="value">
 				<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				//Debug.write(" onResult setModerator : ",value);				   
+				//Debug.write(" onResult setModerator : ",value);
 				]]>
-			</handler>   
+			</handler>
 		</netRemoteCallHib>
 		
 		<method name="setNewBroadCastingFlag" args="value">
 		<![CDATA[
 			//The onResult-Handler will be called be the rtmpconnection
 			if ($debug) Debug.write(" onResult setNewBroadCastingFlag : ", value);
-			var u = canvas._videocontainer._participants.getUserListItemByPublicSID(value.publicSID);
-			if (u != null) {
-				u.update(value);
-			}
+			canvas._videocontainer._participants.updateByPublicSID(value.publicSID, value);
 			if (canvas.publicSID == value.publicSID) {
 				canvas.commonVideoViewContent.toggleVideo(value.canVideo);
 				canvas.setAttribute("isBroadCasting", value.isBroadcasting);
@@ -1028,14 +1025,14 @@
 			<handler name="ondata" args="value">
 			<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write(" onResult checkScreenSharing : ", value);  
+				if ($debug) Debug.write(" onResult checkScreenSharing : ", value);
 				if (value != null) {
 					canvas.commonVideoViewContent.newScreenSharings(value);
 				} else {
 					if ($debug) Debug.warn("Self Screen Sharing");
 				}
 			]]>
-			</handler>   
+			</handler>
 		</netRemoteCallHib>
 		
 		<!--
@@ -1144,7 +1141,7 @@
 		<method name="sendVarsToMessage" args="value">
 		<![CDATA[
 			//The onResult-Handler will be called be the rtmpconnection
-			//Debug.write("sendVarsToMessage : ",value);
+			//Debug.write("sendVarsToMessage : ", value);
 			if (value[0]=='audioActivity'){
 				//canvas.currentModApply
 				//if ($debug) Debug.write("audioActivity Client ",value[1],value[2]);
@@ -1173,7 +1170,7 @@
 			}
 		]]>
 		</method>
-		   
+		
 		<netRemoteCallHib name="sendVarsModeratorGeneral" funcname="sendVarsModeratorGeneral">
 			<netparam name="vars"><method name="getValue">return canvas.VarsModeratorGeneral;</method></netparam>
 			<handler name="ondata" args="value">
@@ -1380,8 +1377,8 @@
 				if ($debug) Debug.warn("Unknown Event -newMessageByRoomAndDomain- ",value);
 			}
 		]]>
-		</method>	  
-			   
+		</method>
+		
 	<method name="newPoll" args="value">
 	<![CDATA[
 		//The onResult-Handler will be called by the rtmpconnection
@@ -1390,28 +1387,28 @@
 			ExternalInterface.call("vote", canvas.publicSID);
 		}
 	]]>
-	</method>					
-								
-		<method name="sendVarsToModeratorGeneral" args="value">
-		<![CDATA[
-			//The onResult-Handler will be called be the rtmpconnection
-			//Debug.write("sendVarsToModeratorGeneral : ",value);
-			if (value[0]=='sharewhiteinit'){
-				if (!canvas.htmlframeisloaded){
-					canvas.ifrm.createIFrame();
-					canvas.setAttribute('htmlframeisloaded',true);
-				}
+	</method>
+	
+	<method name="sendVarsToModeratorGeneral" args="value">
+	<![CDATA[
+		//The onResult-Handler will be called be the rtmpconnection
+		//Debug.write("sendVarsToModeratorGeneral : ",value);
+		if (value[0]=='sharewhiteinit'){
+			if (!canvas.htmlframeisloaded){
+				canvas.ifrm.createIFrame();
+				canvas.setAttribute('htmlframeisloaded',true);
 			}
-		]]>
-		</method>	   
-		
+		}
+	]]>
+	</method>
+	
 	<method name="startedRecording" args="value">
 		if ($debug) Debug.write("startedRecording: ",value);
 		canvas._mymod.recordingUser = value;
 		canvas._mymod.setMessage();
 	</method>
 	
-	<netRemoteCallHib name="checkLzRecording" funcname="recordingservice.checkLzRecording" >	  
+	<netRemoteCallHib name="checkLzRecording" funcname="recordingservice.checkLzRecording" >
 		<handler name="ondata" args="value">
 			if ($debug) Debug.write("checkLzRecording: ", value);
 			if (value != null) {
@@ -1447,10 +1444,7 @@
 			v.setAttribute('chatpartnername', canvas.currentClient.firstname + ' ' + canvas.currentClient.lastname);
 		}
 		if (canvas._videocontainer) {
-			var vo = canvas._videocontainer._participants.getUserListItemByPublicSID(value.publicSID);
-			if (vo != null) {
-				vo.update(value);
-			}
+			canvas._videocontainer._participants.updateByPublicSID(value.publicSID, value);
 		}
 	</method>
 	

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Thu Nov  3 05:52:23 2016
@@ -450,7 +450,7 @@
 				new lz.restrictedConferenceRoom(canvas.main_content._content.inner, {roomobj:roomObj});
 			} else if (roomObj.type == 'interview') {
 				new lz.interviewConferenceRoom(canvas.main_content._content.inner, {roomobj:roomObj});
-			} 
+			}
 		}
 	]]>
 	</method>
@@ -526,21 +526,18 @@
 		if ($debug) Debug.write("updateModerationFlag", canvas.removeModeratorList);
 		for (var i = 0; i < canvas.removeModeratorList.length; ++i) {
 			var item = canvas.removeModeratorList[i];
-			item.isMod = false;
-			var u = canvas._videocontainer._participants.getUserListItemByPublicSID(item.publicSID);
-			if (u != null) {
-				u.update(item, false);
+			if (canvas.publicSID == item.publicSID) {
+				isCurrentModerator = false;
 			}
+			item.isMod = false;
+			canvas._videocontainer._participants.updateByPublicSID(item.publicSID, item, false);
 		}
 		if ($debug) Debug.write("updateModerationFlag", canvas.currentModeratorList);
 		for (var i = 0; i < canvas.currentModeratorList.length; ++i) {
 			var item = canvas.currentModeratorList[i];
-			var u = canvas._videocontainer._participants.getUserListItemByPublicSID(item.publicSID);
-			if (u != null) {
-				u.update(item);
-				if (canvas.publicSID == item.publicSID) {
-					isCurrentModerator = true;
-				}
+			canvas._videocontainer._participants.updateByPublicSID(item.publicSID, item);
+			if (canvas.publicSID == item.publicSID) {
+				isCurrentModerator = true;
 			}
 		}
 		
@@ -553,7 +550,7 @@
 			if ($debug) Debug.error("updateModerationFlag::error ", e);
 		}
 	]]>
-	</method> 
+	</method>
 	
 	<!---
 		Checks if a certain publicSID is a moderator
@@ -576,9 +573,8 @@
 	 -->
 	<method name="setDrawAllowStatus" args="roomClientObj">
 	<![CDATA[
-		var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID);
-		if (!!u && !!roomClientObj) {
-			u.update(roomClientObj);
+		if (!!roomClientObj) {
+			canvas._videocontainer._participants.updateByPublicSID(roomClientObj.publicSID, roomClientObj);
 		}
 		if ($debug) Debug.write("drawAllowStatus changes ###### ");
 		if (roomClientObj.publicSID == canvas.publicSID) {
@@ -595,9 +591,8 @@
 	 -->
 	<method name="setExclusiveAudioAllowStatus" args="roomClientObj">
 	<![CDATA[
-		var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID);
-		if (!!u && !!roomClientObj) {
-			u.update(roomClientObj);
+		if (!!roomClientObj) {
+			canvas._videocontainer._participants.updateByPublicSID(roomClientObj.publicSID, roomClientObj);
 		}
 		if ($debug) Debug.write("giveExclusiveAudioStatus changes ###### ");
 		if (roomClientObj.publicSID==canvas.publicSID) {
@@ -610,9 +605,8 @@
 	<method name="setMuteStatus" args="roomClientObj">
 	<![CDATA[
 		if ($debug) Debug.write("setMuteStatus ###### ", roomClientObj);
-		var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID);
-		if (!!u && !!roomClientObj) {
-			u.update(roomClientObj);
+		if (!!roomClientObj) {
+			canvas._videocontainer._participants.updateByPublicSID(roomClientObj.publicSID, roomClientObj);
 		}
 		if ($debug) Debug.write("setMuteStatus changes ###### ",roomClientObj.micMuted);
 		//Check for self status

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewListInner.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewListInner.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewListInner.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewListInner.lzx Thu Nov  3 05:52:23 2016
@@ -144,7 +144,7 @@
 	<![CDATA[
 		for (var i=0;i<this._table.innerList.subviews.length;i++){
 			//if ($debug) Debug.write("getUserListItemByPublicSID : this._table.innerList.subviews[i]",this._table.innerList.subviews[i]);
-			if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){
+			if (this._table.innerList.subviews[i].refObj.publicSID == publicSID){
 				return this._table.innerList.subviews[i];
 			}
 		}
@@ -152,6 +152,15 @@
 	]]>
 	</method>
 
+	<method name="updateByPublicSID" args="publicSID, obj, full=true">
+	<![CDATA[
+		var u = getUserListItemByPublicSID(publicSID);
+		if (!!u) {
+			u.update(obj, full);
+		}
+	]]>
+	</method>
+
 	<method name="getVideoObjectByInterviewPodId" args="interviewPodId">
 	<![CDATA[
 		var list = this._table.innerList.subviews;

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx Thu Nov  3 05:52:23 2016
@@ -55,16 +55,16 @@
             this.updateIconByMod();
         ]]>
     </handler>
-    
-    <method name="update" args="obj, full=true">
-    	if (!!obj.scope) {
-	    	setAttribute('firstname', obj.firstname);
-	    	setAttribute('lastname', obj.lastname);
-	    	refObj = obj;
+
+	<method name="update" args="obj, full=true">
+		if (!!obj.scope) {
+			setAttribute('firstname', obj.firstname);
+			setAttribute('lastname', obj.lastname);
+			refObj = obj;
 			_userName.setAttribute('text', getUName());
 		}
-    </method>
-     
+	</method>
+
     <method name="updateIconByMod">
     	this.isMod = canvas.getIsModeratorByPublicSID(this.refObj.publicSID);
     	if (this.isMod) {

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantList.lzx Thu Nov  3 05:52:23 2016
@@ -133,8 +133,17 @@
 		return v;
 	]]>
 	</method>
-    
-    <participantsTable name="_table" y="20" /> 
+
+	<method name="updateByPublicSID" args="publicSID, obj, full=true">
+	<![CDATA[
+		var u = getUserListItemByPublicSID(publicSID);
+		if (!!u) {
+			u.update(obj, full);
+		}
+	]]>
+	</method>
+
+	<participantsTable name="_table" y="20" /> 
 
     <view name="_miniIcons" x="112" y="0" height="18">
         

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserList.lzx Thu Nov  3 05:52:23 2016
@@ -9,7 +9,7 @@
   with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
-          
+  
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -20,7 +20,6 @@
 -->
 <library>
 
- 
 <class name="restrictedUserList" extends="view" width="$once{ parent.width }" height="${ parent.height-34 }">
 	<switch>
 		<when property="$as3">
@@ -30,68 +29,68 @@
 		</when>
 	</switch>
 
-    <!--- holds a references to the videoview which is broadcasting -->
-    <attribute name="broadCastViewRef" value="null" />
-    
-    <!--- colors for each user -->
-    <attribute name="colorArray" value="null" />
-    
-    <attribute name="allowUserQuestions" value="true" type="boolean" />
+	<!--- holds a references to the videoview which is broadcasting -->
+	<attribute name="broadCastViewRef" value="null" />
+	
+	<!--- colors for each user -->
+	<attribute name="colorArray" value="null" />
+	
+	<attribute name="allowUserQuestions" value="true" type="boolean" />
 
 	<attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
 	<attribute name="timeout" value="500" type="number"/>
 	<attribute name="delayedCreateVideoId" type="number" value="-1"/>
-    
-    <handler name="onallowUserQuestions" args="bool">
-        if (bool != null) {
-            if (!bool) {
-                this._participants._applyAndStatusIcons.destroy();
-            }
-        }
-    </handler>
-    
-    <handler name="oninit">
-        //set modus
-        canvas.thishib.modus = "audience";
-        
-        //set reference, this reference will be cleared at *ontabcontenctleave* event
-        canvas._videocontainer = this;
-        
-        // Reconnect User to its Room Id
-        canvas.thishib.userScope = canvas.thishib.currentroomid;
-        var src = hib.getUrl();
-        
-        if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
-        
-        if (canvas.thishib.src != src) {
-            canvas.thishib.setAttribute('src',src);
-            
-			if (canvas.wicketsid == null){            
-	            canvas.thishib.reconnectionAction = true;
-	            canvas.thishib.reconnectObjRef = this;
-	            canvas.thishib.disconnect();
-            } else {
+	
+	<handler name="onallowUserQuestions" args="bool">
+		if (bool != null) {
+			if (!bool) {
+				this._participants._applyAndStatusIcons.destroy();
+			}
+		}
+	</handler>
+
+	<handler name="oninit">
+		//set modus
+		canvas.thishib.modus = "audience";
+		
+		//set reference, this reference will be cleared at *ontabcontenctleave* event
+		canvas._videocontainer = this;
+		
+		// Reconnect User to its Room Id
+		canvas.thishib.userScope = canvas.thishib.currentroomid;
+		var src = hib.getUrl();
+		
+		if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
+		
+		if (canvas.thishib.src != src) {
+			canvas.thishib.setAttribute('src',src);
+			
+			if (canvas.wicketsid == null) {
+				canvas.thishib.reconnectionAction = true;
+				canvas.thishib.reconnectObjRef = this;
+				canvas.thishib.disconnect();
+			} else {
 				loadModerators();
-            }
-        } else {
+			}
+		} else {
 			loadModerators();
-        }
-    </handler>
+		}
+	</handler>
 
-    <!---
-        We need to wait till the video-container / as3 app has the connection established
-        otherwise it can happen that the video tries to start playing before the rtmp-connection
-        was established
-     -->
-    <method name="loadModerators">
-    	if ($debug) Debug.write("continue loading");
-    	//set default values and get already availible streams
-    	//it can happen that if you click to exit the room the views are not
-    	//not cleaned up yet and you receive this event from the LocalConnection
-    	if (this["getRoomModeratorsByRoomId"]) {
-            this.getRoomModeratorsByRoomId.doCall();
-    	}
-    </method>
+	<!---
+		We need to wait till the video-container / as3 app has the connection established
+		otherwise it can happen that the video tries to start playing before the rtmp-connection
+		was established
+	 -->
+	<method name="loadModerators">
+		if ($debug) Debug.write("continue loading");
+		//set default values and get already availible streams
+		//it can happen that if you click to exit the room the views are not
+		//not cleaned up yet and you receive this event from the LocalConnection
+		if (this["getRoomModeratorsByRoomId"]) {
+			this.getRoomModeratorsByRoomId.doCall();
+		}
+	</method>
 
 	<netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId" remotecontext="$once{ canvas.thishib }" >
 		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
@@ -177,11 +176,11 @@
 		canvas.commonVideoViewContent.batchCreateVideo(canvas.streamid, clients);
 	</method>
 
-    <!-- invoked if another client logs into the room 
-    after choosing devices -->     
-    <method name="setAVSettingsToClient" args="rcl">
-        canvas.commonVideoViewContent.setAVSettingsToClient(rcl);
-    </method> 
+	<!-- invoked if another client logs into the room 
+	after choosing devices -->	 
+	<method name="setAVSettingsToClient" args="rcl">
+		canvas.commonVideoViewContent.setAVSettingsToClient(rcl);
+	</method> 
 
 	<method name="addItemInitial" args="object">
 	<![CDATA[
@@ -190,19 +189,19 @@
 	]]>
 	</method>
 
-    <method name="receiveExclusiveAudioFlag" args="publicSID">
-    <![CDATA[
-        var vList = this._participants._table.renderList;
-        for (var i = 0;i < vList.length; ++i) {
-            var item = vList[i];
-            var rcl = new Object();
-
-            rcl.publicSID = item.publicSID;
-            rcl.micMuted = !(publicSID == item.publicSID);
-            canvas.setMuteStatus(rcl);
-        }
-    ]]>
-    </method>
+	<method name="receiveExclusiveAudioFlag" args="publicSID">
+	<![CDATA[
+		var vList = this._participants._table.renderList;
+		for (var i = 0;i < vList.length; ++i) {
+			var item = vList[i];
+			var rcl = new Object();
+
+			rcl.publicSID = item.publicSID;
+			rcl.micMuted = !(publicSID == item.publicSID);
+			canvas.setMuteStatus(rcl);
+		}
+	]]>
+	</method>
 
 
 	<method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
@@ -216,51 +215,51 @@
 		this._participants.addItem(object);
 	]]>
 	</method>
-    
-    <method name="addClientItem" args="connectedSince,isMod,streamid,username,roomId,formatedDate,position,color,object">
-        <![CDATA[
-        if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,roomId,formatedDate);
-
-        if (canvas.publicSID != object.publicSID){
-            canvas.commonVideoViewContent.createVideoObject(object.publicSID, false, -1, object);
-        }
-
-        //Do Add it anyway
-        this._participants.addItem(object);
-        ]]>
-    </method>
-        
-    <method name="setSpeakingByPos" args="publicSID,bool">
-        canvas.commonVideoViewContent.setSpeakingByPos(publicSID, bool);
-    </method>
-
-    <method name="closeStreamClient" args="publicSID">
-        canvas.commonVideoViewContent.closeStreamClient(publicSID);
-    </method>
-
-    <method name="resetAllValues">
-        canvas.commonVideoViewContent.resetAllValues();
-    </method>
-    
-    <method name="removeVideoByUser" args="userObject">
-        canvas.commonVideoViewContent.removeVideoByUser(userObject.publicSID);
-    </method>
-    
-    <!--- 
-        stops the streaming but and destroys the view
-        @param int broadcastId broadcastId
-     -->
-    <method name="disconnectclient" args="publicSID">
-        canvas.commonVideoViewContent.disconnectclient(publicSID);
-        this._participants.disconnectclient(publicSID);
-    </method>
-
-    <method name="updateMuteStatusVideoView" args="roomClient">
-        canvas.commonVideoViewContent.updateMuteStatusVideoView(roomClient);
-    </method>
-    
-    <restrictedUserListInner name="_participants" />
-    
+	
+	<method name="addClientItem" args="connectedSince,isMod,streamid,username,roomId,formatedDate,position,color,object">
+		<![CDATA[
+		if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,roomId,formatedDate);
+
+		if (canvas.publicSID != object.publicSID){
+			canvas.commonVideoViewContent.createVideoObject(object.publicSID, false, -1, object);
+		}
+
+		//Do Add it anyway
+		this._participants.addItem(object);
+		]]>
+	</method>
+		
+	<method name="setSpeakingByPos" args="publicSID,bool">
+		canvas.commonVideoViewContent.setSpeakingByPos(publicSID, bool);
+	</method>
+
+	<method name="closeStreamClient" args="publicSID">
+		canvas.commonVideoViewContent.closeStreamClient(publicSID);
+	</method>
+
+	<method name="resetAllValues">
+		canvas.commonVideoViewContent.resetAllValues();
+	</method>
+	
+	<method name="removeVideoByUser" args="userObject">
+		canvas.commonVideoViewContent.removeVideoByUser(userObject.publicSID);
+	</method>
+	
+	<!--- 
+		stops the streaming but and destroys the view
+		@param int broadcastId broadcastId
+	 -->
+	<method name="disconnectclient" args="publicSID">
+		canvas.commonVideoViewContent.disconnectclient(publicSID);
+		this._participants.disconnectclient(publicSID);
+	</method>
+
+	<method name="updateMuteStatusVideoView" args="roomClient">
+		canvas.commonVideoViewContent.updateMuteStatusVideoView(roomClient);
+	</method>
+	
+	<restrictedUserListInner name="_participants" />
+	
 </class>
 
 </library>

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx Thu Nov  3 05:52:23 2016
@@ -113,7 +113,9 @@
 			if (this._table.renderList[i].publicSID == publicSID) {
 				this._table.renderList.splice(i,1);
 				var item = this._table._innerlist._inn._inn.subviews[i];
-				item.destroy();
+				if (!!item) {
+					item.destroy();
+				}
 				break;
 			}
 		}
@@ -121,7 +123,7 @@
 		this.moderationPanel.updateIcons(canvas.currentClient);
 	]]>
 	</method>
-	
+
 	<method name="getUserListItemByPublicSID" args="publicSID">
 	<![CDATA[
 		var v = null;
@@ -135,19 +137,41 @@
 		return v;
 	]]>
 	</method>
-	
+
+	<method name="updateByPublicSID" args="publicSID, obj, full=true">
+	<![CDATA[
+		var u = getUserListItemByPublicSID(publicSID);
+		if (!!u) {
+			u.update(obj, full);
+		} else if (!!obj.scope) {
+			var renderList = this._table.renderList;
+			//if ($debug) Debug.write("!!!! update renderList", renderList);
+			for (var i = 0; i < renderList.length; ++i) {
+				if (renderList[i].publicSID == obj.publicSID) {
+					if (full) {
+						renderList[i] = obj;
+					} else {
+						renderList[i].isMod = obj.isMod;
+					}
+					break;
+				}
+			}
+		}
+	]]>
+	</method>
+
 	<view name="userStatus" layout="axis:y">
 		<view>
-			 <view resource="userstatus_multiframe_rsc" frame="1" />
-			 <labelText x="16" labelid="677" />
+			<view resource="userstatus_multiframe_rsc" frame="1" />
+			<labelText x="16" labelid="677" />
 		</view>
 		<view>
-			 <view resource="userstatus_multiframe_rsc" frame="2" />
-			 <labelText x="16" labelid="678" />
+			<view resource="userstatus_multiframe_rsc" frame="2" />
+			<labelText x="16" labelid="678" />
 		</view>
 		<view>
-			 <view resource="userstatus_multiframe_rsc" frame="3" />
-			 <labelText x="16" labelid="679" />
+			<view resource="userstatus_multiframe_rsc" frame="3" />
+			<labelText x="16" labelid="679" />
 		</view>
 	</view>
 	
@@ -169,12 +193,11 @@
 		</handler>
 	</moderationMiniIconsEventUserList>
 	
-	
 	<turnOverListOrderedPaged name="_table" showTopBar="false" x="1"
-			 height="${ parent.height-30-parent.moderationPanel.height }" 
-			 y="30" itemHeight="40" listLabelId="1001" headerHeight="0"
-			 listItemName="restrictedUserListItem" showHScrollbar="hidden"
-			 multiselect="false" width="268">
+			height="${ parent.height-30-parent.moderationPanel.height }"
+			y="30" itemHeight="40" listLabelId="1001" headerHeight="0"
+			listItemName="restrictedUserListItem" showHScrollbar="hidden"
+			multiselect="false" width="268">
 		
 		<attribute name="currentSelectedIndex" value="null" />
 		
@@ -327,7 +350,7 @@
 				}
 			}
 		]]>
-		</method>   
+		</method>
 		
 		<handler name="onScrollItem" args="item">
 		<![CDATA[
@@ -392,11 +415,11 @@
 		]]>
 		</handler>
 		
-	</turnOverListOrderedPaged> 
-	   
+	</turnOverListOrderedPaged>
+	
 	<view name="moderationPanel" clip="true" 
-		  height="${ (canvas.ismoderator) ? 40 : 0 }"
-		  y="${ parent.height - this.height - 2 }">
+			height="${ (canvas.ismoderator) ? 40 : 0 }"
+			y="${ parent.height - this.height - 2 }">
 		
 		<handler name="onismoderator" reference="canvas" args="m">
 			if ($debug) Debug.write("###### ismoderator ",m);

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx Thu Nov  3 05:52:23 2016
@@ -42,7 +42,8 @@
 	
 	<method name="update" args="obj, full=true">
 	<![CDATA[
-		if ($debug) Debug.write("!!!! update ", obj, this.userId);
+		if ($debug) Debug.write("!!!! update ", this.userId, obj);
+		//if ($debug) Debug.write("!!!! update ", this);
 		if (!!obj.scope) {
 			setAttribute('firstname', obj.firstname);
 			setAttribute('lastname', obj.lastname);

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Nov  3 05:52:23 2016
@@ -354,7 +354,7 @@
 		<attribute name="start" value="0" type="number" />
 		<attribute name="step" value="100" type="number" />
 		<attribute name="max" value="1607" type="number" />
-		<netparam><method name="getValue">return parent.parent.userlang;</method></netparam> 
+		<netparam><method name="getValue">return parent.parent.userlang;</method></netparam>
 		<netparam><method name="getValue">return parent.start;</method></netparam> 
 		<netparam><method name="getValue">return parent.step;</method></netparam> 
 		<handler name="ondata" args="value">
@@ -474,20 +474,20 @@
 			<netparam><method name="getValue">return canvas.userId;</method></netparam>
 			<netparam><method name="getValue">return canvas.currentuser;</method></netparam>
 			<netparam><method name="getValue">return canvas.firstName;</method></netparam>
-			<netparam><method name="getValue">return canvas.lastName;</method></netparam>	  
+			<netparam><method name="getValue">return canvas.lastName;</method></netparam>
 			<handler name="ondata" args="value">
 				//The onResult-Handler will be called be the rtmpconnection
 				if ($debug) Debug.write("setUsernameAndSession: ",canvas.userId,value);
 				if (canvas.thishib.loaderVar != null) {
 					canvas.thishib.loaderVar.close();
 				}
-			</handler>  
-		</netRemoteCallHib>		
+			</handler>
+		</netRemoteCallHib>
 		
 		<netRemoteCallHib name="testMethod" funcname="testMethod">
 			<handler name="ondata" args="value">
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write("testMethod ",value);				   
+				if ($debug) Debug.write("testMethod ",value);
 			</handler>  
 		</netRemoteCallHib>
 
@@ -506,7 +506,7 @@
 		<netRemoteCallHib name="getCurrentModeratorList" funcname="getCurrentModeratorList">
 			<handler name="ondata" args="value">
 				<![CDATA[
-					if ($debug) Debug.write("############ getCurrentModeratorList: ",value);
+					if ($debug) Debug.write("############ getCurrentModeratorList: ", value);
 					
 					canvas.analyzeModerationList(value);
 					
@@ -554,7 +554,7 @@
 				return;
 			}
 			if (value.screenClient) {
-				if ($debug) Debug.write(" ondata closeStream: ",value.streamPublishName); 
+				if ($debug) Debug.write(" ondata closeStream: ",value.streamPublishName);
 				canvas.commonVideoViewContent.closeScreenSharing(value);
 			} else {
 				//free the VideoContainer
@@ -563,7 +563,7 @@
 				canvas.setAttribute('numberofpartners',canvas.numberofpartners-1);
 			}
 			//TODO:check first current tab
-		</method>  
+		</method>
 		
 		<!---
 			Event is invoked if a red5 stream sharing is closed
@@ -578,8 +578,8 @@
 		<netRemoteCallHib name="clientregisterRoom" funcname="clientregisterRoom">
 			<handler name="ondata" args="value">
 				if ($debug) Debug.write("**** clientregisterRoom::ondata ", value);
-			</handler>   
-		</netRemoteCallHib>   
+			</handler>
+		</netRemoteCallHib>
 
 		<method name="roomDisconnectUser" args="value,id">
 			canvas._videocontainer.disconnectclient(id);
@@ -610,14 +610,14 @@
 		<method name="stopPublishingMessage" args="value">
 			//The onResult-Handler will be called be the rtmpconnection
 			canvas._mymod.publishingObj = null;
-			canvas._mymod.setMessage();				 
+			canvas._mymod.setMessage();
 		</method>
 		
-		<netRemoteCallHib name="setSyncFlag" funcname="setSyncFlag" >	  
+		<netRemoteCallHib name="setSyncFlag" funcname="setSyncFlag" >
 			<handler name="ondata" args="value">
 				if ($debug) Debug.write("setSyncFlag: ",value);
 			</handler>
-		</netRemoteCallHib>   
+		</netRemoteCallHib>
 			 
 		<method name="setUserStatus" args="ctx,user,o">
 			<![CDATA[
@@ -743,14 +743,14 @@
 			<handler name="ondata" args="value">
 			<![CDATA[
 				//The onResult-Handler will be called be the rtmpconnection
-				if ($debug) Debug.write(" onResult checkScreenSharing : ",value);  
+				if ($debug) Debug.write(" onResult checkScreenSharing : ", value);
 				if (value != null) {
 					canvas.commonVideoViewContent.newScreenSharings(value);
 				} else {
 					if ($debug) Debug.warn("Self Screen Sharing");
 				}
 			]]>
-			</handler>   
+			</handler>
 		</netRemoteCallHib>
 		
 		<netRemoteCallHib name="setCanDraw" funcname="whiteboardservice.setCanDraw"
@@ -889,7 +889,7 @@
 			}
 		]]>
 		</method>
-		   
+		
 		<netRemoteCallHib name="sendVarsModeratorGeneral" funcname="sendVarsModeratorGeneral">
 			<netparam name="vars"><method name="getValue">return canvas.VarsModeratorGeneral;</method></netparam>
 			<handler name="ondata" args="value">
@@ -1010,11 +1010,6 @@
 				canvas.setAttribute("exclusiveAudioAllowStatus",value.message[1]);
 			} else if (value.message[0] == 'personal') {
 				var pSID = value.client.publicSID;
-				var vo = canvas._videocontainer._participants.getUserListItemByPublicSID(pSID);
-				if (vo != null) {
-					vo.setAttribute('lastname', value.message[2]);
-					vo.refObj.lastname = value.message[2];
-				}
 				canvas.commonVideoViewContent.updateFirstLastName(pSID, value.message[1], value.message[2]);
 			} else {
 				if ($debug) Debug.warn("sendVarsToMessageWithClient unkown message ",value);
@@ -1039,8 +1034,8 @@
 				if ($debug) Debug.warn("Unknown Event -newMessageByRoomAndDomain- ",value);
 			}
 		]]>
-		</method>	  
-			   
+		</method>
+		
 		<method name="sendVarsToModeratorGeneral" args="value">
 		<![CDATA[
 			//The onResult-Handler will be called be the rtmpconnection
@@ -1052,11 +1047,11 @@
 				}
 			}
 		]]>
-		</method>	   
-		
-	<netRemoteCallHib name="checkLzRecording" funcname="recordingservice.checkLzRecording" >	  
+		</method>
+	
+	<netRemoteCallHib name="checkLzRecording" funcname="recordingservice.checkLzRecording" >
 		<handler name="ondata" args="value">
-			if ($debug) Debug.write("checkLzRecording: ",value);
+			if ($debug) Debug.write("checkLzRecording: ", value);
 			if (value != null) {
 				canvas._mymod.recordingUser = value;
 				canvas._mymod.setMessage();
@@ -1089,12 +1084,6 @@
 		if (v != null) {
 			v.setAttribute('chatpartnername', canvas.currentClient.firstname + ' ' + canvas.currentClient.lastname);
 		}
-		if (canvas._videocontainer) {
-			var vo = canvas._videocontainer._participants.getUserListItemByPublicSID(value.publicSID);
-			if (vo != null) {
-				vo.update(value);
-			}
-		}
 	</method>
 	
 	<!-- Whiteboard sync Events -->

Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1767820&r1=1767819&r2=1767820&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Thu Nov  3 05:52:23 2016
@@ -361,7 +361,7 @@
 			if ($debug) Debug.error("updateModerationFlag::error ", e);
 		}
 	]]>
-	</method> 
+	</method>
 	
 	<!---
 		Checks if a certain publicSID is a moderator