diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js index d3c65dceda..b9bbc7b7b2 100644 --- a/src/components/structures/RoomDirectory.js +++ b/src/components/structures/RoomDirectory.js @@ -368,25 +368,27 @@ module.exports = createReactClass({ } }, - onPreviewClick: function(room) { + onPreviewClick: function(ev, room) { this.props.onFinished(); dis.dispatch({ action: 'view_room', room_id: room.room_id, should_peek: true, }); + ev.stopPropagation(); }, - onViewClick: function(room) { + onViewClick: function(ev, room) { this.props.onFinished(); dis.dispatch({ action: 'view_room', room_id: room.room_id, should_peek: false, }); + ev.stopPropagation(); }, - onJoinClick: function(room) { + onJoinClick: function(ev, room) { this.props.onFinished(); MatrixClientPeg.get().joinRoom(room.room_id); dis.dispatch({ @@ -394,6 +396,7 @@ module.exports = createReactClass({ room_id: room.room_id, joining: true, }); + ev.stopPropagation(); }, onCreateRoomClick: function(room) { @@ -457,16 +460,16 @@ module.exports = createReactClass({ if (room.world_readable && !hasJoinedRoom) { previewButton = ( - this.onPreviewClick(room)}>{_t("Preview")} + this.onPreviewClick(ev, room)}>{_t("Preview")} ); } if (hasJoinedRoom) { joinOrViewButton = ( - this.onViewClick(room)}>{_t("View")} + this.onViewClick(ev, room)}>{_t("View")} ); } else if (!isGuest || room.guest_can_join) { joinOrViewButton = ( - this.onJoinClick(room)}>{_t("Join")} + this.onJoinClick(ev, room)}>{_t("Join")} ); }