<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Dmitry,<br>
      <br>
      Please add a test. A very simple one that just calls QueryService
      and checks its return will be enough.<br>
      <br>
      I can see that you used undo mgr as an example, but it has its
      problems that I'd rather avoid in new code, so it would be nice to
      improve the patch.<br>
      <br>
      On 10/09/15 05:53, Dmitry Timoshkov wrote:<br>
    </div>
    <blockquote cite="mid:20151009115302.1afab95b.dmitry@baikal.ru"
      type="cite">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        style="font-family: -moz-fixed; font-size: 12px;"
        lang="x-western">
        <pre wrap="">
+static HRESULT WINAPI editsvcs_QueryInterface(IHTMLEditServices *iface, REFIID riid, void **ppv)
+{
+    editsvcs *This = impl_from_IHTMLEditServices(iface);
+
+    if(IsEqualGUID(riid, &IID_IUnknown)) {
+        TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
+        *ppv = &This->IHTMLEditServices_iface;
+    } else if(IsEqualGUID(riid, &IID_IHTMLEditServices)) {
+        TRACE("(%p)->(IID_IHTMLEditServices %p)\n", This, ppv);
+        *ppv = &This->IHTMLEditServices_iface;
+    } else {
+        *ppv = NULL;
+        FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
+        return E_NOINTERFACE;
+    }</pre>
      </div>
    </blockquote>
    <br>
    Please use debugstr_mshtml_guid and add IHTMLEditServices there.<br>
    <br>
    <blockquote cite="mid:20151009115302.1afab95b.dmitry@baikal.ru"
      type="cite">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        style="font-family: -moz-fixed; font-size: 12px;"
        lang="x-western">
        <pre wrap="">
+
+static IHTMLEditServices *create_editsvcs(void)
+{
+    editsvcs *ret = heap_alloc(sizeof(*ret));</pre>
      </div>
    </blockquote>
    <br>
    Please handle heap_alloc failure here.<br>
    <br>
    <blockquote cite="mid:20151009115302.1afab95b.dmitry@baikal.ru"
      type="cite">
      <div class="moz-text-plain" wrap="true" graphical-quote="true"
        style="font-family: -moz-fixed; font-size: 12px;"
        lang="x-western">
        <pre wrap="">
+
+    ret->IHTMLEditServices_iface.lpVtbl = &editsvcsVtbl;
+    ret->ref = 1;
+
+    return &ret->IHTMLEditServices_iface;
+}
+
 /**********************************************************
  * IServiceProvider implementation
  */
@@ -259,6 +381,15 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG
         return IWindowForBindingUI_QueryInterface(&This->doc_obj->IWindowForBindingUI_iface, riid, ppv);
     }
 
+    if(IsEqualGUID(&SID_SHTMLEditServices, guidService)) {
+        FIXME("SID_SHTMLEditServices\n");</pre>
      </div>
    </blockquote>
    <br>
    I think it should be TRACE.<br>
    <br>
    Thanks,<br>
    Jacek<br>
  </body>
</html>