riched20: ITextDocument stubs for ITextServices (retry)

Jacek Caban jacek at codeweavers.com
Tue Jul 30 04:00:50 CDT 2013


On 07/29/13 17:55, Caibin Chen wrote:
>> +struct tagReTxtDoc {
>> +  IUnknown *outerObj;
>> +  ME_TextEditor *editor;
>> +  ITextDocument iTextDocumentIface;
>> +};
>>
>> Do you really need a separated structure for that? Wouldn't adding ITextDocument implementation to ITextServicesImpl be enough?
> This structure will be used in both ITexstServicesImpl and
> IRichEditOleImpl(richole.c). For now IRichEditOleImpl has its own
> implementation(stub) of ITextDocument and ITextSelection. A stub of
> ITextSelection is needed before removing IRichEditOleImpl's own
> implementation and use the separate one.
> There are already several patches that are ready for review once this
> patch get submitted.

I see, assuming that substantial part of the implementation may really
be shared between those objects, that makes sense. Bellow is review of
the remaining part of the patch:

+struct tagReTxtDoc {
+  IUnknown *outerObj;
+  ME_TextEditor *editor;
+  ITextDocument iTextDocumentIface;
+};


Please follow http://wiki.winehq.org/COMGuideline about naming
convention (*_iface names).

+ITextDocument *ReTxtDoc_get_ITextDocument(ReTxtDoc *document)
+{
+  TRACE("(%p)\n", document);
+  return &document->iTextDocumentIface;
+}


Full declaration of ReTxtDoc in a header (so you don't need such helper) would be cleaner, IMO.


new file mode 100644
index 0000000..02579b2
--- /dev/null
+++ b/dlls/riched20/txtdoc.h


How about using an existing header?



Thanks,
Jacek




More information about the wine-devel mailing list