diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index 1de7a141..7ef61da4 100644
--- a/src/timeline/InputBar.cpp
+++ b/src/timeline/InputBar.cpp
@@ -675,13 +675,17 @@ InputBar::command(const QString &command, QString args)
} else if (command == QLatin1String("part") || command == QLatin1String("leave")) {
ChatPage::instance()->timelineManager()->openLeaveRoomDialog(room->roomId(), args);
} else if (command == QLatin1String("invite")) {
- ChatPage::instance()->inviteUser(args.section(' ', 0, 0), args.section(' ', 1, -1));
+ ChatPage::instance()->inviteUser(
+ room->roomId(), args.section(' ', 0, 0), args.section(' ', 1, -1));
} else if (command == QLatin1String("kick")) {
- ChatPage::instance()->kickUser(args.section(' ', 0, 0), args.section(' ', 1, -1));
+ ChatPage::instance()->kickUser(
+ room->roomId(), args.section(' ', 0, 0), args.section(' ', 1, -1));
} else if (command == QLatin1String("ban")) {
- ChatPage::instance()->banUser(args.section(' ', 0, 0), args.section(' ', 1, -1));
+ ChatPage::instance()->banUser(
+ room->roomId(), args.section(' ', 0, 0), args.section(' ', 1, -1));
} else if (command == QLatin1String("unban")) {
- ChatPage::instance()->unbanUser(args.section(' ', 0, 0), args.section(' ', 1, -1));
+ ChatPage::instance()->unbanUser(
+ room->roomId(), args.section(' ', 0, 0), args.section(' ', 1, -1));
} else if (command == QLatin1String("roomnick")) {
mtx::events::state::Member member;
member.display_name = args.toStdString();
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index b9c2cefa..142ca793 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -1072,7 +1072,8 @@ TimelineModel::setCurrentIndex(int index)
if (index != oldIndex)
emit currentIndexChanged(index);
- if (MainWindow::instance()->activeRoom() != roomId() && QGuiApplication::focusWindow())
+ if (!QGuiApplication::focusWindow() || !QGuiApplication::focusWindow()->isActive() ||
+ MainWindow::instance()->windowForRoom(roomId()) != QGuiApplication::focusWindow())
return;
if (!currentId.startsWith('m')) {
@@ -2338,7 +2339,8 @@ TimelineModel::acceptKnock(const QString &id)
if (event->content.membership != Membership::Knock)
return;
- ChatPage::instance()->inviteUser(QString::fromStdString(event->state_key), QLatin1String(""));
+ ChatPage::instance()->inviteUser(
+ room_id_, QString::fromStdString(event->state_key), QLatin1String(""));
}
bool
|