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")}
);
}