riched20: ITextDocument stubs for ITextServices (retry)

Jacek Caban jacek at codeweavers.com
Mon Jul 29 05:04:07 CDT 2013


Hi Caibin,

On 07/29/13 01:52, Caibin Chen wrote:
> Hi,
>
> It has been 2 weeks since I sent this patch[1]. It's still new status
> in the patches list. I'm working on following patches based on it. I
> appreciate your reviews and will work on the patch to get it
> submitted.

You sent the patch during code freeze, when it couldn't be committed, so
it probably didn't get enough attention. Now is the right time to resubmit.

+    /* COM aggregation on ITextDocument */
+    hr = IUnknown_QueryInterface(unk_obj.inner_unk, &IID_ITextDocument, (void**)&textdoc);
+    ok(hr == S_OK, "QueryInterface for IID_ITextDocument failed: %08x\n", hr);
+    refcount = ITextDocument_AddRef(textdoc);
+    ok(refcount == unk_obj.ref, "CreateTextServices just pretends to support COM aggregation\n");
+    refcount = ITextDocument_Release(textdoc);
+    ok(refcount == unk_obj.ref, "CreateTextServices just pretends to support COM aggregation\n");
+    refcount = ITextDocument_Release(textdoc);


It doesn't really make sense to test COM aggregation on every interface
implemented by an object. The valuable part of the test is that
ITextDocument should be supported, but there is probably a better place
to put this test.

+
+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?


Thanks,
Jacek 





More information about the wine-devel mailing list