* On Sun, 14 Aug 2005, Jacek Caban wrote:
I'm not sure if it is a correct fix. Although it avoids crashes, much less functionality of QueryStatus is tested. Before your patch all possible commands were tested.
This is true only for nt family windows. :-P On 9x test function exits on an exception.
it seems to be a case similar to crashes on xp while HTMLDocument is not active in place. In this case it is not active in place because UIActivate fails. Looking at the test results, UIActivate is a problem on every win 9x and causes most tests to fail. So first UIActivate should be fixed and then, if this problem remains, we'll be sure that your fix is correct.
I don't understand much in all this OLE/In-Place stuph, so I agree, but still I doubt this would be a sufficient to proof my patch is correct. :-]
Presently if you want to make this test not to crash, you may disable IOleCommand tests if UIActivate fails.
I will try, but what should be done with this (inside test_HTMLDocument)?
| OLECMD cmd[2] = { | {OLECMDID_OPEN, 0xf0f0}, | {OLECMDID_GETPRINTTEMPLATE+1, 0xf0f0} | }; | | hres = IOleCommandTarget_QueryStatus(cmdtrg, NULL, 2, cmd, NULL); | ok(hres == OLECMDERR_E_NOTSUPPORTED, | "QueryStatus failed: %08lx, expected OLECMDERR_E_NOTSUPPORTED\n", hres);
Or IOW, why first call generates exception on OLECMDID_OPEN command while second do not?
| hres = IOleCommandTarget_QueryStatus(cmdtrg, NULL, 2, cmd, NULL); | hres = IOleCommandTarget_QueryStatus(cmdtrg, &IID_IHTMLDocument2, 2, cmd, NULL);
OLECMDID_OPEN seems to be supported at least on winME. I am curious, why?
My guess is that it requires to be loaded before a call to UIActivate,
What do you exactly mean by "it"?
so the attached patch might help (even if so, a few other tests will fail, but currently the most interesting is UIActivate),
No, the patch didn't help.