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/ob…
==============================================================================
--- 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;
}