Module: wine Branch: refs/heads/master Commit: 7f84cc48f3c6b12cc64416a28e35577e3db405df URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=7f84cc48f3c6b12cc64416a2...
Author: Kevin Koltzau kevin@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