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