From 4544efb299e30e8ebe990110c4e3e5bf406f8635 Mon Sep 17 00:00:00 2001 From: Nathan Vegdahl Date: Sun, 23 Feb 2020 20:14:13 +0900 Subject: [PATCH] Undo/redo wasn't marking the buffer as dirty. Fixed. --- sub_crates/backend/src/buffer.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sub_crates/backend/src/buffer.rs b/sub_crates/backend/src/buffer.rs index ac42098..2473138 100644 --- a/sub_crates/backend/src/buffer.rs +++ b/sub_crates/backend/src/buffer.rs @@ -82,6 +82,8 @@ impl Buffer { /// Returns None if there is no edit to undo. pub fn undo(&mut self) -> Option<(usize, usize)> { if let Some(ed) = self.history.undo() { + self.is_dirty = true; + let pre_len = ed.to.chars().count(); let post_len = ed.from.chars().count(); let (start, end) = (ed.char_idx, ed.char_idx + pre_len); @@ -118,6 +120,8 @@ impl Buffer { /// Returns None if there is no edit to redo. pub fn redo(&mut self) -> Option<(usize, usize)> { if let Some(ed) = self.history.redo() { + self.is_dirty = true; + let pre_len = ed.from.chars().count(); let post_len = ed.to.chars().count(); let (start, end) = (ed.char_idx, ed.char_idx + pre_len);