aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--win32/ScintillaWin.cxx11
-rw-r--r--win32/makefile8
-rw-r--r--win32/scintilla.mak4
3 files changed, 15 insertions, 8 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index e93d6ef4b..9476b93bd 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -140,7 +140,7 @@ public:
*/
class ScintillaWin :
public ScintillaBase {
-
+
bool lastKeyDownConsumed;
bool capturedMouse;
@@ -177,7 +177,6 @@ class ScintillaWin :
virtual void StartDrag();
sptr_t WndPaint(uptr_t wParam);
sptr_t HandleComposition(uptr_t wParam, sptr_t lParam);
- 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);
virtual void SetTicking(bool on);
virtual void SetMouseCapture(bool on);
@@ -212,6 +211,9 @@ class ScintillaWin :
void FullPaint();
public:
+ // Public for benefit of Scintilla_DirectFunction
+ virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
+
/// Implement IUnknown
STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppv);
STDMETHODIMP_(ULONG)AddRef();
@@ -1935,6 +1937,11 @@ sptr_t ScintillaWin::DirectFunction(
return sci->WndProc(iMessage, wParam, lParam);
}
+extern "C" __declspec(dllexport) sptr_t __stdcall Scintilla_DirectFunction(
+ ScintillaWin *sci, UINT iMessage, uptr_t wParam, sptr_t lParam) {
+ return sci->WndProc(iMessage, wParam, lParam);
+}
+
sptr_t PASCAL ScintillaWin::SWndProc(
HWND hWnd, UINT iMessage, WPARAM wParam, sptr_t lParam) {
//Platform::DebugPrintf("S W:%x M:%x WP:%x L:%x\n", hWnd, iMessage, wParam, lParam);
diff --git a/win32/makefile b/win32/makefile
index 5464740f0..0a7b5203b 100644
--- a/win32/makefile
+++ b/win32/makefile
@@ -49,16 +49,16 @@ SOBJS = ScintillaWin.o ScintillaBase.o Editor.o Document.o \
ContractionState.o CellBuffer.o CallTip.o \
ScintRes.o PlatWin.o KeyMap.o Indicator.o LineMarker.o RESearch.o \
Style.o ViewStyle.o AutoComplete.o UniConversion.o PropSet.o
-$(COMPONENT): $(SOBJS)
- $(DLLWRAP) --target i386-mingw32 -o $@ $(SOBJS) $(LDFLAGS) -s --relocatable
+$(COMPONENT): $(SOBJS) Scintilla.def
+ $(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(SOBJS) $(LDFLAGS) -s --relocatable
LOBJS = ScintillaWinL.o ScintillaBaseL.o Editor.o Document.o \
ContractionState.o CellBuffer.o CallTip.o \
ScintRes.o PlatWin.o KeyMap.o Indicator.o LineMarker.o RESearch.o \
Style.o ViewStyle.o AutoComplete.o UniConversion.o KeyWords.o \
DocumentAccessor.o PropSet.o ExternalLexer.o StyleContext.o $(LEXOBJS)
-$(LEXCOMPONENT): $(LOBJS)
- $(DLLWRAP) --target i386-mingw32 -o $@ $(LOBJS) $(LDFLAGS) -s --relocatable
+$(LEXCOMPONENT): $(LOBJS) Scintilla.def
+ $(DLLWRAP) --add-stdcall-alias --target i386-mingw32 -o $@ $(LOBJS) $(LDFLAGS) -s --relocatable
# Automatically generate dependencies for most files with "make deps"
include deps.mak
diff --git a/win32/scintilla.mak b/win32/scintilla.mak
index 1888224d7..5b9b5b8a5 100644
--- a/win32/scintilla.mak
+++ b/win32/scintilla.mak
@@ -159,10 +159,10 @@ $(DIR_O)\ScintRes.res : ScintRes.rc
!IF "$(VENDOR)"=="MICROSOFT"
$(COMPONENT): $(SOBJS) $(DIR_O)\ScintRes.res
- $(LD) $(LDFLAGS) -DLL -OUT:$@ $** $(LIBS)
+ $(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
$(LEXCOMPONENT): $(LOBJS) $(DIR_O)\ScintRes.res
- $(LD) $(LDFLAGS) -DLL -OUT:$@ $** $(LIBS)
+ $(LD) $(LDFLAGS) -DEF:Scintilla.def -DLL -OUT:$@ $** $(LIBS)
!ELSE