Kevin Koltzau : riched20: Implement EM_SETOLECALLBACK.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Feb 1 06:59:19 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 7f84cc48f3c6b12cc64416a28e35577e3db405df
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7f84cc48f3c6b12cc64416a28e35577e3db405df
Author: Kevin Koltzau <kevin at plop.org>
Date: Wed Feb 1 13:05:40 2006 +0100
riched20: Implement EM_SETOLECALLBACK.
---
dlls/riched20/editor.c | 13 ++++++++++---
dlls/riched20/editstr.h | 4 ++++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 19c7b3f..9b741a8 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -223,8 +223,6 @@
#include "editor.h"
#include "commdlg.h"
-#include "ole2.h"
-#include "richole.h"
#include "winreg.h"
#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
@@ -889,6 +887,7 @@ ME_TextEditor *ME_MakeEditor(HWND hWnd)
ed->bRedraw = TRUE;
ed->nInvalidOfs = -1;
ed->pfnWordBreak = NULL;
+ ed->lpOleCallback = NULL;
GetClientRect(hWnd, &ed->rcFormat);
for (i=0; i<HFONT_CACHE_SIZE; i++)
{
@@ -985,6 +984,8 @@ void ME_DestroyEditor(ME_TextEditor *edi
DeleteObject(editor->pFontCache[i].hFont);
}
DeleteObject(editor->hbrBackground);
+ if(editor->lpOleCallback)
+ IUnknown_Release(editor->lpOleCallback);
FREE_OBJ(editor);
}
@@ -1206,7 +1207,6 @@ LRESULT WINAPI RichEditANSIWndProc(HWND
UNSUPPORTED_MSG(EM_SETEDITSTYLE)
UNSUPPORTED_MSG(EM_SETFONTSIZE)
UNSUPPORTED_MSG(EM_SETLANGOPTIONS)
- UNSUPPORTED_MSG(EM_SETOLECALLBACK)
UNSUPPORTED_MSG(EM_SETOPTIONS)
UNSUPPORTED_MSG(EM_SETPALETTE)
UNSUPPORTED_MSG(EM_SETPASSWORDCHAR)
@@ -2043,6 +2043,13 @@ LRESULT WINAPI RichEditANSIWndProc(HWND
FIXME("EM_GETOLEINTERFACE %p: stub\n", ppvObj);
return CreateIRichEditOle(ppvObj);
}
+ case EM_SETOLECALLBACK:
+ if(editor->lpOleCallback)
+ IUnknown_Release(editor->lpOleCallback);
+ editor->lpOleCallback = (LPRICHEDITOLECALLBACK)lParam;
+ if(editor->lpOleCallback)
+ IUnknown_AddRef(editor->lpOleCallback);
+ return TRUE;
case EM_GETWORDBREAKPROC:
return (LRESULT)editor->pfnWordBreak;
case EM_SETWORDBREAKPROC:
diff --git a/dlls/riched20/editstr.h b/dlls/riched20/editstr.h
index 919dd02..d27eab9 100644
--- a/dlls/riched20/editstr.h
+++ b/dlls/riched20/editstr.h
@@ -38,6 +38,9 @@
#include <winuser.h>
#include <richedit.h>
#include <commctrl.h>
+#define COBJMACROS
+#include <ole2.h>
+#include <richole.h>
#include "wine/debug.h"
@@ -289,6 +292,7 @@ typedef struct tagME_TextEditor
BOOL bRedraw;
int nInvalidOfs;
EDITWORDBREAKPROCW pfnWordBreak;
+ LPRICHEDITOLECALLBACK lpOleCallback;
} ME_TextEditor;
typedef struct tagME_Context
More information about the wine-cvs
mailing list