Author: spetreolle Date: Sat May 30 16:26:59 2009 New Revision: 41205
URL: http://svn.reactos.org/svn/reactos?rev=41205&view=rev Log: Implement CDS_TEST flag for IntChangeDisplaySettings. Set ERROR_CALL_NOT_IMPLEMENTED where needed.
Modified: trunk/reactos/subsystems/win32/win32k/objects/device.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/device.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/device.c [iso-8859-1] Sat May 30 16:26:59 2009 @@ -1202,7 +1202,7 @@ BOOLEAN NoReset = FALSE; BOOLEAN Reset = FALSE; BOOLEAN SetPrimary = FALSE; - LONG Ret=0; + LONG Ret = DISP_CHANGE_SUCCESSFUL; NTSTATUS Status ;
DPRINT1("display flags : %x\n",dwflags); @@ -1230,14 +1230,17 @@ /* Dynamically change graphics mode */ DPRINT1("flag 0 UNIMPLEMENTED\n"); return DISP_CHANGE_FAILED; + SetLastWin32Error(ERROR_CALL_NOT_IMPLEMENTED); }
if ((dwflags & CDS_TEST) == CDS_TEST) { - /* Test reslution */ + /* Test resolution */ dwflags &= ~CDS_TEST; - DPRINT1("flag CDS_TEST UNIMPLEMENTED\n"); - Ret = DISP_CHANGE_FAILED; + Status = IntEnumDisplaySettings(pDeviceName, ENUM_REGISTRY_SETTINGS, DevMode, 0); + if (!NT_SUCCESS(Status)) + Ret = DISP_CHANGE_BADMODE; + return Ret; }
if ((dwflags & CDS_FULLSCREEN) == CDS_FULLSCREEN) @@ -1274,6 +1277,7 @@ { DPRINT1("flag CDS_VIDEOPARAMETERS UNIMPLEMENTED\n"); Ret = DISP_CHANGE_FAILED; + SetLastWin32Error(ERROR_CALL_NOT_IMPLEMENTED); }
} @@ -1387,6 +1391,7 @@ if (dwflags != 0) Ret = DISP_CHANGE_BADFLAGS;
+ DPRINT("IntChangeDisplaySettings returning %x\n", Ret); return Ret; }