MSHMTL: Added QueryStatus implementation

Jacek Caban jack at itma.pwr.wroc.pl
Sun Aug 14 14:53:19 CDT 2005


Saulius Krasuckas wrote:

>* 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.
>  
>
As I wrote before, it'll be probably true for 9x family after
UIActivate succeeded.

>  
>
>>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);
>  
>
It should be disabled as well.

>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?
>
>  
>
The second call returns after checking that IID_IHTMLDocument2 is not a 
valid command
group id and it doesn't have to check anything else like the current 
state of
HTMLDocument.

>>My guess is that it requires to be loaded before a call to UIActivate,
>>    
>>
>
>What do you exactly mean by "it"?
>  
>
HTMLDocument

>  
>
>>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.
>
>  
>
OK, I'll take a look at this today or tomorrow.

 > Is something like this OK? I have "borrowed" boolean variable
 > expect_SetActiveObject_active.

Yes, it looks good.

Thanks,
    Jacek




More information about the wine-devel mailing list