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