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

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


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

commit 08ba2884cfe0561bc9d476dfaa8e6c8b80fc1169
Author: Maxim Solodovnik <solomax...@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
solo...@apache.org.

Reply via email to