(try 4) comdlg32/tests: Windows XP+ cannot do a CreateViewWindow2twice in rapid seccesion. handle this error.

Paul Vriens paul.vriens.wine at gmail.com
Thu Oct 23 12:11:02 CDT 2008


Paul Vriens wrote:
> Dmitry Timoshkov wrote:
>> "Aric Stewart" <aric at codeweavers.com> wrote:
>>
>>> +            /*
>>> +             * Windows XP is unable to recreate the ViewWindow2 
>>> returning
>>> +             * A Catastrophic failure error
>>> +             */
>>> +            if (broken(hr == 0x8000ffff || hr == E_FAIL))
>>> +            {
>>> +                skip("second attempt is a Catastrophic failure\n");
>>> +                goto cleanup;
>>> +            }
>>
>> broken() is supposed to be used exclusively inside of ok() calls.
>>
> So incorporating all it would be something like:
> 
> if (hr == E_UNEXPECTED || hr == E_FAIL)
> {
>     win_skip("second attempt is a Catastrophic failure\n");
>     goto cleanup;
> }
> 
> Correct? This means only if we have one of those failures we have an 
> error on Wine but a skip on Windows.
> 
Or maybe just:

ok(SUCCEEDED(hr) ||
    broken(hr == E_UNEXPECTED || hr == E_FAIL),
    "CreateViewWindow2 returned %#x\n", hr);
/*
  * Windows XP is unable to recreate the ViewWindow2 returning
  * A Catastrophic failure error
  */
if (hr == E_UNEXPECTED || hr == E_FAIL)
    goto cleanup;

-- 
Cheers,

Paul.



More information about the wine-devel mailing list