aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/ScintillaGTK.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-06-17 09:28:05 +1000
committerNeil <nyamatongwe@gmail.com>2021-06-17 09:28:05 +1000
commit9e52243831ceffced1e9f0ef27041770fe13a85a (patch)
treea14b3f24127e77c4c28e16e0b81e0a5dac929e2c /gtk/ScintillaGTK.cxx
parent37edcd47eed457d80e353bccfe9e601578ccca33 (diff)
downloadscintilla-mirror-9e52243831ceffced1e9f0ef27041770fe13a85a.tar.gz
Add SciFnDirectStatus, a direct access function which also returns status so can
improve performance for client code that called SCI_GETSTATUS after every API to check for failure.
Diffstat (limited to 'gtk/ScintillaGTK.cxx')
-rwxr-xr-xgtk/ScintillaGTK.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 93a952357..62f1e1e94 100755
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -3100,7 +3100,16 @@ AtkObject *ScintillaGTK::GetAccessible(GtkWidget *widget) {
sptr_t ScintillaGTK::DirectFunction(
sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
- return reinterpret_cast<ScintillaGTK *>(ptr)->WndProc(static_cast<Message>(iMessage), wParam, lParam);
+ ScintillaGTK *sci = reinterpret_cast<ScintillaGTK *>(ptr);
+ return sci->WndProc(static_cast<Message>(iMessage), wParam, lParam);
+}
+
+sptr_t ScintillaGTK::DirectStatusFunction(
+ sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam, int *pStatus) {
+ ScintillaGTK *sci = reinterpret_cast<ScintillaGTK *>(ptr);
+ const sptr_t returnValue = sci->WndProc(static_cast<Message>(iMessage), wParam, lParam);
+ *pStatus = static_cast<int>(sci->errorStatus);
+ return returnValue;
}
/* legacy name for scintilla_object_send_message */