From 66424c62ed4ff61175b1068672d747606681d012 Mon Sep 17 00:00:00 2001 From: Vincent Le Goff Date: Sat, 4 Feb 2017 17:23:33 -0800 Subject: [PATCH] Fix a bug when @reload-ing while in EvEditor --- evennia/utils/eveditor.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/evennia/utils/eveditor.py b/evennia/utils/eveditor.py index 657bc9895..d91bc3227 100644 --- a/evennia/utils/eveditor.py +++ b/evennia/utils/eveditor.py @@ -319,6 +319,7 @@ def _load_editor(caller): """ saved_options = caller.attributes.get("_eveditor_saved") saved_buffer, saved_undo = caller.attributes.get("_eveditor_buffer_temp", (None, None)) + unsaved = caller.attributes.get("_eveditor_unsaved", False) if saved_options: eveditor = EvEditor(caller, **saved_options[0]) if saved_buffer: @@ -327,6 +328,7 @@ def _load_editor(caller): setattr(eveditor, "_buffer", saved_buffer) setattr(eveditor, "_undo_buffer", saved_undo) setattr(eveditor, "_undo_pos", len(saved_undo) - 1) + setattr(eveditor, "_unsaved", unsaved) for key, value in saved_options[1].iteritems(): setattr(eveditor, key, value) else: @@ -680,6 +682,7 @@ class EvEditor(object): {"_pristine_buffer": self._pristine_buffer, "_sep": self._sep})) caller.attributes.add("_eveditor_buffer_temp", (self._buffer, self._undo_buffer)) + caller.attributes.add("_eveditor_unsaved", False) except Exception, err: caller.msg(_ERROR_PERSISTENT_SAVING.format(error=err)) logger.log_trace(_TRACE_PERSISTENT_SAVING) @@ -731,6 +734,7 @@ class EvEditor(object): self._unsaved = True if self._persistent: self._caller.attributes.add("_eveditor_buffer_temp", (self._buffer, self._undo_buffer)) + self._caller.attributes.add("_eveditor_unsaved", True) def quit(self): """ @@ -744,6 +748,7 @@ class EvEditor(object): self._caller.nattributes.remove("_eveditor") self._caller.attributes.remove("_eveditor_buffer_temp") self._caller.attributes.remove("_eveditor_saved") + self._caller.attributes.remove("_eveditor_unsaved") self._caller.cmdset.remove(EvEditorCmdSet) def save_buffer(self):