[ros-dev] [ros-diffs] [spetreolle] 41204: ChangeDisplaySettingsA and ChangeDisplaySettingsW should reset dmDriverExtra to 0.

James Tabor jimtabor.rosdev at gmail.com
Sat May 30 23:40:47 CEST 2009


Hi!
Wow! Good job Sylvain!! It works! You don't need to clear out the size
"dmDriverExtra"  after reseting it from ChangeDisplaySettingsEx. It
works now since we do not fully support it yet. I did add a test in
our win32k code when building the pdevobj, it looks for it from the
driver but does nothing.... Sorry for not pointing this out to you
earlier.

This is from wine, it's  good example:

/***********************************************************************
 *              ChangeDisplaySettingsW (USER32.@)
 */
LONG WINAPI ChangeDisplaySettingsW( LPDEVMODEW devmode, DWORD flags )
{
    if (devmode) devmode->dmDriverExtra = 0;

    return ChangeDisplaySettingsExW(NULL,devmode,NULL,flags,NULL);
}

You do not need dmDriverExtra, it will reset during the call..... Wine
test must rely on this behavior to pass. If the call to
ChangeDisplaySettingsEx fails and it must check to see if
dmDriverExtra is zeroed. So ATM it must pass the way you have written
it. It is zeroed regardless and we do not support it.

Thanks,
James


More information about the Ros-dev mailing list