diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c index dfeb81d6a11..01c98bbdbe1 100644 --- a/dlls/mshtml/olecmd.c +++ b/dlls/mshtml/olecmd.c @@ -310,7 +310,7 @@ static DWORD query_edit_status(HTMLDocument *This, const char *nscmd) if(This->usermode != EDITMODE || This->readystate < READYSTATE_INTERACTIVE) return OLECMDF_SUPPORTED; - if(This->nscontainer) { + if(This->nscontainer && nscmd) { nsparam = create_nscommand_params(); get_ns_command_state(This->nscontainer, nscmd, nsparam); @@ -636,8 +636,8 @@ static HRESULT WINAPI OleCommandTarget_QueryStatus(IOleCommandTarget *iface, con prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED; break; case IDM_FONTNAME: - FIXME("CGID_MSHTML: IDM_FONTNAME\n"); - prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED; + TRACE("CGID_MSHTML: IDM_FONTNAME\n"); + prgCmds[i].cmdf = query_edit_status(This, NULL); break; case IDM_FONTSIZE: FIXME("CGID_MSHTML: IDM_FONTSIZE\n"); diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index 6b28b13c0a1..c6434563258 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -2039,6 +2039,7 @@ static void test_MSHTML_QueryStatus(IUnknown *unk, DWORD cmdf) if(unk) _unk = unk; else unk = _unk; + test_QueryStatus(unk, &CGID_MSHTML, IDM_FONTNAME, cmdf); test_QueryStatus(unk, &CGID_MSHTML, IDM_BOLD, cmdf); test_QueryStatus(unk, &CGID_MSHTML, IDM_ITALIC, cmdf); test_QueryStatus(unk, &CGID_MSHTML, IDM_UNDERLINE, cmdf);