MSHMTL: Added QueryStatus implementation

Saulius Krasuckas saulius2 at ar.fi.lt
Sun Aug 14 10:36:21 CDT 2005


* 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.



More information about the wine-devel mailing list