diff options
author | Neil <nyamatongwe@gmail.com> | 2014-05-02 23:19:27 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-05-02 23:19:27 +1000 |
commit | 42ce770c6497f865ce34a93f63cc376c3152f3c4 (patch) | |
tree | fe434ad7ed4e7f63bb12c9fb1f4e128aacbd29ba | |
parent | 5a1126b68cbcd6b49534e9daa0eebe3a354e3f73 (diff) | |
download | scintilla-mirror-42ce770c6497f865ce34a93f63cc376c3152f3c4.tar.gz |
Use exact SciFnDirect function signature for DirectFunction as earlier version
depended on undefined behaviour.
-rw-r--r-- | cocoa/ScintillaCocoa.h | 2 | ||||
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 6 | ||||
-rw-r--r-- | gtk/ScintillaGTK.cxx | 6 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 4 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.h | 2 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 6 |
6 files changed, 13 insertions, 13 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h index 415094c35..7e4ed7214 100644 --- a/cocoa/ScintillaCocoa.h +++ b/cocoa/ScintillaCocoa.h @@ -177,7 +177,7 @@ public: NSPoint GetCaretPosition(); - static sptr_t DirectFunction(ScintillaCocoa *sciThis, unsigned int iMessage, uptr_t wParam, sptr_t lParam); + static sptr_t DirectFunction(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); void TimerFired(NSTimer* timer); void IdleTimerFired(); diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index 563cff839..7e86d86f1 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -787,16 +787,16 @@ void ScintillaCocoa::Redraw() * However this is a Windows metaphor and not used here, hence we just call our fake * window proc. The given parameters directly reflect the message parameters used on Windows. * - * @param sciThis The target which is to be called. + * @param ptr The target which is to be called. * @param iMessage A code that indicates which message was sent. * @param wParam One of the two free parameters for the message. Traditionally a word sized parameter * (hence the w prefix). * @param lParam The other of the two free parameters. A signed long. */ -sptr_t ScintillaCocoa::DirectFunction(ScintillaCocoa *sciThis, unsigned int iMessage, uptr_t wParam, +sptr_t ScintillaCocoa::DirectFunction(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam) { - return sciThis->WndProc(iMessage, wParam, lParam); + return reinterpret_cast<ScintillaCocoa *>(ptr)->WndProc(iMessage, wParam, lParam); } //-------------------------------------------------------------------------------------------------- diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index f13686077..0d868db63 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -309,7 +309,7 @@ private: #endif static gboolean PressCT(GtkWidget *widget, GdkEventButton *event, ScintillaGTK *sciThis); - static sptr_t DirectFunction(ScintillaGTK *sciThis, + static sptr_t DirectFunction(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); }; @@ -2792,8 +2792,8 @@ gboolean ScintillaGTK::ExposeCT(GtkWidget *widget, GdkEventExpose * /*ose*/, Cal #endif sptr_t ScintillaGTK::DirectFunction( - ScintillaGTK *sciThis, unsigned int iMessage, uptr_t wParam, sptr_t lParam) { - return sciThis->WndProc(iMessage, wParam, lParam); + sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam) { + return reinterpret_cast<ScintillaGTK *>(ptr)->WndProc(iMessage, wParam, lParam); } sptr_t scintilla_send_message(ScintillaObject *sci, unsigned int iMessage, uptr_t wParam, sptr_t lParam) { diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index b31aa0727..3d727900b 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -675,9 +675,9 @@ sptr_t ScintillaQt::DefWndProc(unsigned int, uptr_t, sptr_t) } sptr_t ScintillaQt::DirectFunction( - ScintillaQt *sciThis, unsigned int iMessage, uptr_t wParam, sptr_t lParam) + sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam) { - return sciThis->WndProc(iMessage, wParam, lParam); + return reinterpret_cast<ScintillaQt *>(ptr)->WndProc(iMessage, wParam, lParam); } // Additions to merge in Scientific Toolworks widget structure diff --git a/qt/ScintillaEditBase/ScintillaQt.h b/qt/ScintillaEditBase/ScintillaQt.h index d3c5be594..7defd7c05 100644 --- a/qt/ScintillaEditBase/ScintillaQt.h +++ b/qt/ScintillaEditBase/ScintillaQt.h @@ -128,7 +128,7 @@ private: virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam); virtual sptr_t DefWndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam); - static sptr_t DirectFunction(ScintillaQt *sciThis, + static sptr_t DirectFunction(sptr_t ptr, unsigned int iMessage, uptr_t wParam, sptr_t lParam); protected: diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index e084354f1..3f8cfabe6 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -213,7 +213,7 @@ class ScintillaWin : HWND MainHWND(); static sptr_t DirectFunction( - ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam); + sptr_t ptr, UINT iMessage, uptr_t wParam, sptr_t lParam); static sptr_t PASCAL SWndProc( HWND hWnd, UINT iMessage, WPARAM wParam, sptr_t lParam); static sptr_t PASCAL CTWndProc( @@ -2775,9 +2775,9 @@ sptr_t PASCAL ScintillaWin::CTWndProc( } sptr_t ScintillaWin::DirectFunction( - ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) { + sptr_t ptr, UINT iMessage, uptr_t wParam, sptr_t lParam) { PLATFORM_ASSERT(::GetCurrentThreadId() == ::GetWindowThreadProcessId(sci->MainHWND(), NULL)); - return sci->WndProc(iMessage, wParam, lParam); + return reinterpret_cast<ScintillaWin *>(ptr)->WndProc(iMessage, wParam, lParam); } extern "C" |