diff --git a/src/components/structures/RoomDirectory.js b/src/components/structures/RoomDirectory.js
index 7c0b8e00e1..7085461633 100644
--- a/src/components/structures/RoomDirectory.js
+++ b/src/components/structures/RoomDirectory.js
@@ -369,25 +369,27 @@ module.exports = React.createClass({
}
},
- 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({
@@ -395,6 +397,7 @@ module.exports = React.createClass({
room_id: room.room_id,
joining: true,
});
+ ev.stopPropagation();
},
onCreateRoomClick: function(room) {
@@ -458,16 +461,16 @@ module.exports = React.createClass({
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")}
);
}