diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-16 23:46:08 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-11-17 03:56:42 +0100 |
commit | 2542eb02648294256a01ae4ecb6ac81bc8ab5094 (patch) | |
tree | 81166dbe78031f7764ca2d6d4925d96283ac29c5 /src/document.h | |
parent | e762a43754ba375789fa749ca2e00a3548500d6a (diff) | |
download | sciteco-2542eb02648294256a01ae4ecb6ac81bc8ab5094.tar.gz |
Make sure QRegister::view is properly initialized and cleaned up
* it must be initialized after the UI (Interface::main), so I added
a View::initialize() function
* the old initialize() method was renamed to setup()
* use a global instance of QRegister::view so it is guaranteed to
be destroyed only after any QRegisters that could still need it
* Document API adapted to work with ViewCurrent references
Diffstat (limited to 'src/document.h')
-rw-r--r-- | src/document.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/document.h b/src/document.h index 763db7a..686d2f4 100644 --- a/src/document.h +++ b/src/document.h @@ -67,10 +67,10 @@ public: return doc != NULL; } - void edit(ViewCurrent *view); - void undo_edit(ViewCurrent *view); + void edit(ViewCurrent &view); + void undo_edit(ViewCurrent &view); - void update(ViewCurrent *view); + void update(ViewCurrent &view); inline void update(const Document &from) { @@ -108,8 +108,8 @@ protected: release_document(void) { if (is_initialized()) { - ViewCurrent *view = get_create_document_view(); - view->ssm(SCI_RELEASEDOCUMENT, 0, (sptr_t)doc); + ViewCurrent &view = get_create_document_view(); + view.ssm(SCI_RELEASEDOCUMENT, 0, (sptr_t)doc); doc = NULL; } } @@ -123,14 +123,14 @@ private: * per document, it must instead be returned by * this method. */ - virtual ViewCurrent *get_create_document_view(void) = 0; + virtual ViewCurrent &get_create_document_view(void) = 0; inline void maybe_create_document(void) { if (!is_initialized()) { - ViewCurrent *view = get_create_document_view(); - doc = (SciDoc)view->ssm(SCI_CREATEDOCUMENT); + ViewCurrent &view = get_create_document_view(); + doc = (SciDoc)view.ssm(SCI_CREATEDOCUMENT); } } }; |