aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 28d680d7a..8f29d3a8f 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -6079,6 +6079,10 @@ constexpr Selection::SelTypes SelTypeFromMode(SelectionMode mode) {
}
}
+sptr_t SPtrFromPtr(void *ptr) noexcept {
+ return reinterpret_cast<sptr_t>(ptr);
+}
+
}
void Editor::SetSelectionMode(uptr_t wParam, bool setMoveExtends) {
@@ -8216,11 +8220,11 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) {
break;
case Message::GetDocPointer:
- return reinterpret_cast<sptr_t>(pdoc);
+ return SPtrFromPtr(pdoc->AsDocumentEditable());
case Message::SetDocPointer:
CancelModes();
- SetDocPointer(static_cast<Document *>(PtrFromSPtr(lParam)));
+ SetDocPointer(static_cast<Document *>(static_cast<IDocumentEditable *>(PtrFromSPtr(lParam))));
return 0;
case Message::CreateDocument: {
@@ -8228,15 +8232,15 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) {
doc->AddRef();
doc->Allocate(PositionFromUPtr(wParam));
pcs = ContractionStateCreate(pdoc->IsLarge());
- return reinterpret_cast<sptr_t>(doc);
+ return SPtrFromPtr(doc->AsDocumentEditable());
}
case Message::AddRefDocument:
- (static_cast<Document *>(PtrFromSPtr(lParam)))->AddRef();
+ (static_cast<IDocumentEditable *>(PtrFromSPtr(lParam)))->AddRef();
break;
case Message::ReleaseDocument:
- (static_cast<Document *>(PtrFromSPtr(lParam)))->Release();
+ (static_cast<IDocumentEditable *>(PtrFromSPtr(lParam)))->Release();
break;
case Message::GetDocumentOptions: