Stefan Dösinger wrote:
> Am Donnerstag, 18. Mai 2006 22:31 schrieb Stefan Dösinger:
> +
> + ret = ChangeDisplaySettingsExW(NULL, &devmode, NULL, CDS_FULLSCREEN, NULL);
> + if (ret != DISP_CHANGE_SUCCESSFUL) {
> + if(devmode.dmDisplayFrequency != 0) {
> + WARN("ChangeDisplaySettingsExW failed, trying without the refresh rate\n");
> + devmode.dmFields &= ~DM_DISPLAYFREQUENCY;
> + devmode.dmDisplayFrequency = 0;
> + ret = ChangeDisplaySettingsExW(NULL, &devmode, NULL, CDS_FULLSCREEN, NULL) != DISP_CHANGE_SUCCESSFUL;
> + }
> + if(ret != DISP_CHANGE_SUCCESSFUL) {
> + return DDERR_INVALIDMODE;
> + }
> + }
I'm not sure, but I think this line:
ret = ChangeDisplaySettingsExW(NULL, &devmode, NULL, CDS_FULLSCREEN,
NULL) != DISP_CHANGE_SUCCESSFUL;
should be
ret = ChangeDisplaySettingsExW(NULL, &devmode, NULL, CDS_FULLSCREEN, NULL);
as otherwise the test following it will always fire;
HTH,
Joris