riched20: ITextDocument implementation
Tiger Soldier
tigersoldi at gmail.com
Wed Jun 26 02:11:10 CDT 2013
As bug 17042 [1] reported, the IUnknown object returned by
CreateTextServices() does not support ITextDocument. I believe that's
the root cause of some apps crash.
richole.c has a very limited implementation of ITextDocument for
IRichEditOle, which is totally unreusable.
I'm trying to implement ITextDocument for both ITextServices and
IRichEditOle. ME_Editor type provides most of the editor
functionalities, and both of ITextServices and IRichEditOle use it. So
I'm going to use it to implement ITextDocument.
The proposal is:
struct tagReTxtDoc {
IUnknown *parentObj;
ME_Editor *editor;
} ReTxtDoc;
ReTxtDoc *CreateReTxtDoc(IUnknown *parentObj, ME_Editor *editor);
void DestroyReTxtDoc(ReTxtDoc);
ReTxtDoc_addRef/QueryInterface/Release -> delegate to parentObj
Other ITextDocument methods: use ME_Editor to implement.
This is my first time to develop WINE. Any comments/suggestions?
[1] http://bugs.winehq.org/show_bug.cgi?id=17042
More information about the wine-devel
mailing list