From 961c8cde87fd2e2ef2fe86969964d29068c177c9 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Fri, 24 Aug 2018 14:38:31 +1200 Subject: [PATCH] Guard against spuriously saving blank files. Because for some reason this would happen seemingly at random before. No idea why. But I did test that it occurs during save, not read. And it doesn't appear to happen anymore. --- src/window.vala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/window.vala b/src/window.vala index c332a99..f7f1d22 100644 --- a/src/window.vala +++ b/src/window.vala @@ -56,8 +56,12 @@ public class WriteAs.MainWindow : Gtk.ApplicationWindow { Timeout.add_full(Priority.DEFAULT_IDLE, 100/*ms*/, () => { if (!text_changed) return Source.CONTINUE; + var text = canvas.buffer.text; + // This happens sometimes for some reason, but it's difficult to debug. + if (text == "") return Source.CONTINUE; + try { - draft_file().replace_contents(canvas.buffer.text.data, null, false, + draft_file().replace_contents(text.data, null, false, FileCreateFlags.PRIVATE | FileCreateFlags.REPLACE_DESTINATION, null); text_changed = false; @@ -76,7 +80,7 @@ public class WriteAs.MainWindow : Gtk.ApplicationWindow { init_folder(); try { open_file(draft_file()); - } catch (Error err) {/* It's fine... */} + } catch (Error err) {canvas.buffer.text = err.message;} restore_styles(); set_default_size(800, 600);