diff --git a/src/core/messagesproxymodel.cpp b/src/core/messagesproxymodel.cpp index 992cc49fe..9be27cfaa 100755 --- a/src/core/messagesproxymodel.cpp +++ b/src/core/messagesproxymodel.cpp @@ -53,8 +53,7 @@ QModelIndex MessagesProxyModel::getNextPreviousUnreadItemIndex(int default_row) QModelIndex MessagesProxyModel::getNextUnreadItemIndex(int default_row, int max_row) { while (default_row <= max_row) { // Get info if the message is read or not. - QModelIndex proxy_index = index(default_row, 0); - + QModelIndex proxy_index = index(default_row, MSG_DB_READ_INDEX); bool is_read = m_sourceModel->data(mapToSource(proxy_index).row(), MSG_DB_READ_INDEX, Qt::EditRole).toInt() == 1; diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index 93ab54a92..17aad6651 100755 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -481,7 +481,7 @@ void MessagesView::selectNextUnreadItem() { active_row = 0; } - QModelIndex next_unread = moveCursor(QAbstractItemView::MoveUp, Qt::NoModifier); + QModelIndex next_unread = m_proxyModel->getNextPreviousUnreadItemIndex(active_row); if (next_unread.isValid()) { // We found unread message, mark it.