[PATCH v2 3/4] winemac.drv: Fake success for changing non-primary adapter settings.

Ken Thomases ken at codeweavers.com
Tue May 26 22:11:12 CDT 2020


Hi Zhiyi,

Why do you need to fake success rather than return failure?  Is it so that ChangeDisplaySettingsExW() actually goes through with setting the registry settings?

-Ken

> On May 26, 2020, at 7:51 PM, Zhiyi Zhang <zzhang at codeweavers.com> wrote:
> 
> Hi Ken,
> 
> Yes. There is enough to implement this properly. I am trying to introduce changes gradually
> instead of one big patch. If passing non-primary adapters to ChangeDisplaySettingsExW() changes
> the primary adapter's settings, it would cause test failures in between patches. I would like to
> add the implementation to read/write multiple adapter settings to registry first, then to support
> actually changing current display mode.
> 
> Thanks,
> Zhiyi
> 
> On 5/27/20 4:16 AM, Ken Thomases wrote:
>> Most of the infrastructure is there to implement this properly.  You just have to figure out which element of the "displays" array corresponds to the devname and use that instead of displays[0].
>> 
>> -Ken
>> 
>>> On May 26, 2020, at 3:35 AM, Zhiyi Zhang <zzhang at codeweavers.com> wrote:
>>> 
>>> Changing non-primary adapter settings is currently unsupported. Return
>>> success for non-primary adapter settings changes so that the primary
>>> adapter settings don't get changed unintentionally.
>>> 
>>> Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
>>> ---
>>> dlls/winemac.drv/display.c | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>> 
>>> diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c
>>> index 968b9277bba..402f54982a5 100644
>>> --- a/dlls/winemac.drv/display.c
>>> +++ b/dlls/winemac.drv/display.c
>>> @@ -805,6 +805,12 @@ LONG CDECL macdrv_ChangeDisplaySettingsEx(LPCWSTR devname, LPDEVMODEW devmode,
>>>        devmode = &default_mode;
>>>    }
>>> 
>>> +    if (lstrcmpiW(primary_adapter, devname))
>>> +    {
>>> +        FIXME("Changing non-primary adapter settings is currently unsupported.\n");
>>> +        return DISP_CHANGE_SUCCESSFUL;
>>> +    }
>>> +
>>>    if (macdrv_get_displays(&displays, &num_displays))
>>>        return DISP_CHANGE_FAILED;
>>> 
>>> -- 
>>> 2.25.1
>>> 
>>> 
> 




More information about the wine-devel mailing list