[plasma-mobile/raven] src: Set folder nullptr, if there is no inbox found. Delete messages with

Devin Lin <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 1d1a1fccc4f615cf1a301fcd17f4edb5c1e87834 by Devin Lin, on behalf of Alexander Malygin.
Committed on 20/07/2026 at 17:56.
Pushed by devinlin into branch 'master'.

Set folder nullptr, if there is no inbox found. Delete messages with
folderId

M  +3    -5    src/raven/modelviews/mailboxmodel.cpp
M  +6    -0    src/raven/modelviews/maillistmodel.cpp
M  +2    -1    src/raven/raven.cpp
M  +1    -0    src/ravend/src/db/operations.rs

https://invent.kde.org/plasma-mobile/raven/-/commit/1d1a1fccc4f615cf1a301fcd17f4edb5c1e87834

diff --git a/src/raven/modelviews/mailboxmodel.cpp b/src/raven/modelviews/mailboxmodel.cpp
index 27afbd2..040239c 100644
--- a/src/raven/modelviews/mailboxmodel.cpp
+++ b/src/raven/modelviews/mailboxmodel.cpp
@@ -180,12 +180,10 @@ void MailBoxModel::load()
 
         if (currentFolder) {
             MailListModel::self()->loadFolder(currentFolder);
-        }
-        else {
+        } else {
             Folder *inbox = findInboxFolder();
-            if(inbox) {
-                MailListModel::self()->loadFolder(inbox);
-            }
+
+            MailListModel::self()->loadFolder(inbox);
         }
     }
     endResetModel();
diff --git a/src/raven/modelviews/maillistmodel.cpp b/src/raven/modelviews/maillistmodel.cpp
index 47c3f3a..7239020 100644
--- a/src/raven/modelviews/maillistmodel.cpp
+++ b/src/raven/modelviews/maillistmodel.cpp
@@ -233,6 +233,12 @@ void MailListModel::loadFolder(Folder *folder)
         return;
     }
 
+    if(!m_currentFolder) {
+        m_threads.clear();
+        endResetModel();
+        return;
+    }
+
     m_threads = Thread::fetchByFolder(m_db, folder->id(), folder->accountId(), this, 100);
 
     auto currentDate = QDateTime::currentDateTime();
diff --git a/src/raven/raven.cpp b/src/raven/raven.cpp
index 2613210..4a16ca7 100644
--- a/src/raven/raven.cpp
+++ b/src/raven/raven.cpp
@@ -29,7 +29,8 @@ Raven::Raven(QObject *parent)
     // Connect DBWatcher signals to reload models
     QObject::connect(dbWatcher, &DBWatcher::foldersChanged, MailBoxModel::self(), [this]() {
         MailBoxModel::self()->load();
-        this->setSelectedFolderName(MailListModel::self()->currentFolder()->name());
+        if(MailListModel::self()->currentFolder())
+            this->setSelectedFolderName(MailListModel::self()->currentFolder()->name());
     });
 
     // Targeted updates for specific message changes (e.g., read/unread, starred)
diff --git a/src/ravend/src/db/operations.rs b/src/ravend/src/db/operations.rs
index c3e9049..37058ba 100644
--- a/src/ravend/src/db/operations.rs
+++ b/src/ravend/src/db/operations.rs
@@ -200,6 +200,7 @@ pub fn delete_folder_by_uid(conn: &Connection, folder_id: &str) -> Result<bool>
     
     conn.execute("DELETE FROM folder WHERE id = ?1", [&folder_id])?;
     conn.execute("DELETE FROM thread_folder WHERE folderId = ?1", [&folder_id])?;
+    conn.execute("DELETE FROM message WHERE folderId = ?1", [&folder_id])?;
     return Ok(true);
 
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.