Verify VBE is found and not anything else, is a safe check.
Modified: trunk/reactos/drivers/video/miniport/vbe/vbemp.c
_____
Modified: trunk/reactos/drivers/video/miniport/vbe/vbemp.c
--- trunk/reactos/drivers/video/miniport/vbe/vbemp.c 2005-11-23
20:23:41 UTC (rev 19498)
+++ trunk/reactos/drivers/video/miniport/vbe/vbemp.c 2005-11-23
20:37:38 UTC (rev 19499)
@@ -241,6 +241,13 @@
&VBEDeviceExtension->VbeInfo,
sizeof(VBEDeviceExtension->VbeInfo));
+ /* Verify VBE is found and not an²thing else */
+ if (strncmp(VBEDeviceExtension->VbeInfo.Signature,"VESA",4) !=
0)
+ {
+ DPRINT("No VBE BIOS present\n");
+ return FALSE;
+ }
+
/* Dectect Bad VBE BIOS some Graphice card report 0x200 when
they are VBE 1.2 */
if (VBEDeviceExtension->VbeInfo.OemVendorNamePtr == 0 &&
VBEDeviceExtension->VbeInfo.Version == 0x200)
{
Detect Bad graphic Bios, Some graphice card report VBE 2.0 when the are
VBE 1.2. For the manufactures have use wrong version and do not set the
OemVendoerPtr. When that happen it is VBE 1.2 on the Graphic card
Modified: trunk/reactos/drivers/video/miniport/vbe/vbemp.c
_____
Modified: trunk/reactos/drivers/video/miniport/vbe/vbemp.c
--- trunk/reactos/drivers/video/miniport/vbe/vbemp.c 2005-11-23
19:29:38 UTC (rev 19495)
+++ trunk/reactos/drivers/video/miniport/vbe/vbemp.c 2005-11-23
19:35:44 UTC (rev 19496)
@@ -241,6 +241,13 @@
&VBEDeviceExtension->VbeInfo,
sizeof(VBEDeviceExtension->VbeInfo));
+ /* Dectect Bad VBE BIOS some Graphice card report 0x200 when
they are VBE 1.2 */
+ if (VBEDeviceExtension->VbeInfo.OemVendorNamePtr == 0 &&
VBEDeviceExtension->VbeInfo.Version == 0x200)
+ {
+ VBEDeviceExtension->VbeInfo.Version = 0x102;
+ }
+
+
DPRINT("VBE BIOS Present (%d.%d, %8ld Kb)\n",
VBEDeviceExtension->VbeInfo.Version / 0x100,
VBEDeviceExtension->VbeInfo.Version & 0xFF,
Don't check if user is admin before installing a device, as we're
running DevInstallW in SYSTEM context (this would change one day...)
Modified: trunk/reactos/lib/newdev/newdev.c
_____
Modified: trunk/reactos/lib/newdev/newdev.c
--- trunk/reactos/lib/newdev/newdev.c 2005-11-23 18:44:02 UTC (rev
19494)
+++ trunk/reactos/lib/newdev/newdev.c 2005-11-23 19:29:38 UTC (rev
19495)
@@ -873,11 +873,14 @@
DWORD config_flags;
/*TCHAR buf[128];*/
- if (!IsUserAdmin())
- {
- /* XP kills the process... */
- ExitProcess(ERROR_ACCESS_DENIED);
- }
+ /* FIXME: Nov 2005. umpnpmgr.exe is directly calling DevInstallW in
+ * SYSTEM context, which is not member of the Administrators group.
+ * So, just ignore the test at the moment... */
+ //if (!IsUserAdmin())
+ //{
+ // /* XP kills the process... */
+ // ExitProcess(ERROR_ACCESS_DENIED);
+ //}
/* Clear devinst data */
ZeroMemory(&DevInstData, sizeof(DEVINSTDATA));