Skip to content

Commit 2a7fac4

Browse files
Desktop: Fix reorder not beeing persisted
1 parent b52bf7b commit 2a7fac4

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

desktop/src/app.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ impl App {
294294
self.persistent_data.set_current_document(id);
295295
}
296296
DesktopFrontendMessage::PersistenceUpdateDocumentsList { ids } => {
297-
self.persistent_data.set_document_order(ids);
297+
self.persistent_data.force_document_order(ids);
298298
}
299299
DesktopFrontendMessage::PersistenceWritePreferences { preferences } => {
300300
preferences::write(preferences);

desktop/src/persist.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ impl PersistentData {
6767
self.flush();
6868
}
6969

70-
pub(crate) fn set_document_order(&mut self, order: Vec<DocumentId>) {
70+
pub(crate) fn force_document_order(&mut self, order: Vec<DocumentId>) {
7171
self.document_order = Some(order);
72+
self.documents.force_order(self.document_order.as_ref().unwrap());
7273
self.flush();
7374
}
7475

@@ -148,7 +149,7 @@ impl DocumentStore {
148149
})
149150
}
150151

151-
fn force_order(&mut self, desired_order: &Vec<DocumentId>) {
152+
fn force_order(&mut self, desired_order: &[DocumentId]) {
152153
let mut ordered_prefix_len = 0;
153154
for id in desired_order {
154155
if let Some(offset) = self.0[ordered_prefix_len..].iter().position(|meta| meta.id == *id) {
@@ -159,7 +160,6 @@ impl DocumentStore {
159160
ordered_prefix_len += 1;
160161
}
161162
}
162-
self.0.truncate(ordered_prefix_len);
163163
}
164164

165165
fn document_ids(&self) -> Vec<DocumentId> {

0 commit comments

Comments
 (0)