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 2018/03/07 14:31:55 UTC

[openmeetings] branch master updated: [OPENMEETINGS-1836] more NPEs are fixed

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new b200a54  [OPENMEETINGS-1836] more NPEs are fixed
b200a54 is described below

commit b200a54fcb1eae62cd7be89e11b32593878c7ade
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Mar 7 21:31:08 2018 +0700

    [OPENMEETINGS-1836] more NPEs are fixed
---
 .../java/org/apache/openmeetings/web/room/RoomPanel.java | 16 +++++++---------
 .../openmeetings/web/room/sidebar/RoomSidebar.java       |  2 +-
 .../org/apache/openmeetings/web/room/wb/WbPanel.java     |  3 +++
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 1ce716a..23ac29c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -393,7 +393,8 @@ public class RoomPanel extends BasePanel {
 
 	@Override
 	public void onEvent(IEvent<?> event) {
-		if (event.getPayload() instanceof WebSocketPushPayload) {
+		Client _c = getClient();
+		if (_c != null && event.getPayload() instanceof WebSocketPushPayload) {
 			WebSocketPushPayload wsEvent = (WebSocketPushPayload) event.getPayload();
 			if (wsEvent.getMessage() instanceof RoomMessage) {
 				RoomMessage m = (RoomMessage)wsEvent.getMessage();
@@ -471,7 +472,6 @@ public class RoomPanel extends BasePanel {
 								log.error("Not existing user in rightUpdated {} !!!!", uid);
 								return;
 							}
-							Client _c = getClient();
 							boolean self = _c.getUid().equals(c.getUid());
 							handler.appendJavaScript(String.format("VideoManager.update(%s);"
 									, c.streamJson(_c.getSid(), self, getBean(StreamClientManager.class)).toString(new NullStringer())
@@ -495,7 +495,6 @@ public class RoomPanel extends BasePanel {
 							log.error("Not existing user in newStream {} !!!!", uid);
 							return;
 						}
-						Client _c = getClient();
 						boolean self = _c.getSid().equals(c.getSid());
 						StreamClientManager mgr = getBean(StreamClientManager.class);
 						if (!self || Client.Type.room != mgr.get(uid).getType()) { // stream from others or self external video
@@ -515,7 +514,6 @@ public class RoomPanel extends BasePanel {
 						Client c = cm.getBySid(obj.getString("sid"));
 						if (c != null) {
 							//c == null means client exits the room
-							Client _c = getClient();
 							if (_c.getUid().equals(c.getUid())) {
 								cm.update(c.removeStream(uid));
 							}
@@ -568,18 +566,18 @@ public class RoomPanel extends BasePanel {
 						sidebar.removeActivity(((TextRoomMessage)m).getText(), handler);
 						break;
 					case haveQuestion:
-						if (getClient().hasRight(Room.Right.moderator) || getUserId().equals(m.getUserId())) {
+						if (_c.hasRight(Room.Right.moderator) || getUserId().equals(m.getUserId())) {
 							sidebar.addActivity(new Activity((TextRoomMessage)m, Activity.Type.haveQuestion), handler);
 						}
 						break;
 					case kick:
 						{
 							String uid = ((TextRoomMessage)m).getText();
-							if (getClient().getUid().equals(uid)) {
+							if (_c.getUid().equals(uid)) {
 								handler.add(room.setVisible(false));
 								getMainPanel().getChat().toggle(handler, false);
 								clientKicked.open(handler);
-								cm.exitRoom(getClient());
+								cm.exitRoom(_c);
 							}
 						}
 						break;
@@ -591,7 +589,7 @@ public class RoomPanel extends BasePanel {
 							log.error("Not existing user in audioActivity {} !!!!", obj);
 							return;
 						}
-						if (!getClient().getUid().equals(c.getUid())) {
+						if (!_c.getUid().equals(c.getUid())) {
 							handler.appendJavaScript(String.format("if (typeof(VideoManager) !== 'undefined') {VideoManager.micActivity('%s', %s);}", c.getUid(), obj.getBoolean("active")));
 						}
 					}
@@ -604,7 +602,7 @@ public class RoomPanel extends BasePanel {
 							log.error("Not existing user in mute {} !!!!", obj);
 							return;
 						}
-						if (!getClient().getUid().equals(c.getUid())) {
+						if (!_c.getUid().equals(c.getUid())) {
 							handler.appendJavaScript(String.format("if (typeof(VideoManager) !== 'undefined') {VideoManager.mute('%s', %s);}", obj.getString("uid"), obj.getBoolean("mute")));
 						}
 					}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 5ef1033..4f0500e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -294,7 +294,7 @@ public class RoomSidebar extends Panel {
 	}
 
 	public void update(IPartialPageRequestHandler handler) {
-		if (room.getRoom() == null) {
+		if (room.getRoom() == null || room.getClient() != null) {
 			return;
 		}
 		updateShowFiles(handler);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index 0265c5d..02167a0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -200,6 +200,9 @@ public class WbPanel extends AbstractWbPanel {
 	@Override
 	protected void processWbAction(WbAction a, JSONObject obj, AjaxRequestTarget target) throws IOException {
 		Client c = rp.getClient();
+		if (c == null) {
+			return;
+		}
 		WhiteboardManager wbm = getBean(WhiteboardManager.class);
 		switch (a) {
 			case createObj:

-- 
To stop receiving notification emails like this one, please contact
solomax@apache.org.