diff options
Diffstat (limited to 'src/Document.h')
-rw-r--r-- | src/Document.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Document.h b/src/Document.h index 5c9840463..09d5841ed 100644 --- a/src/Document.h +++ b/src/Document.h @@ -489,7 +489,7 @@ public: void EOLAnnotationClearAll(); bool AddWatcher(DocWatcher *watcher, void *userData); - bool RemoveWatcher(DocWatcher *watcher, void *userData); + bool RemoveWatcher(DocWatcher *watcher, void *userData) noexcept; CharacterClass WordCharacterClass(unsigned int ch) const; bool IsWordPartSeparator(unsigned int ch) const; @@ -525,6 +525,9 @@ public: UndoGroup &operator=(UndoGroup &&) = delete; ~UndoGroup() { if (groupNeeded) { + // EndUndoAction can throw as it allocates but throw in destructor is fatal. + // To fix this UndoHistory should allocate any memory needed by EndUndoAction + // beforehand or change EndUndoAction to not require allocation. pdoc->EndUndoAction(); } } |