Merge 19941, 19955, and 19956 to 0.2.9
Modified: branches/ros-branch-0_2_9/reactos/lib/user32/misc/display.c
Modified: branches/ros-branch-0_2_9/reactos/subsys/win32k/objects/dc.c

Modified: branches/ros-branch-0_2_9/reactos/lib/user32/misc/display.c
--- branches/ros-branch-0_2_9/reactos/lib/user32/misc/display.c	2005-12-08 11:54:01 UTC (rev 19964)
+++ branches/ros-branch-0_2_9/reactos/lib/user32/misc/display.c	2005-12-08 17:09:25 UTC (rev 19965)
@@ -61,7 +61,7 @@
       return FALSE;
     }
 
-  DisplayDeviceW.cb = lpDisplayDevice->cb;
+  DisplayDeviceW.cb = sizeof(DISPLAY_DEVICEW);  
   rc = NtUserEnumDisplayDevices (
     &Device,
     iDevNum,

Modified: branches/ros-branch-0_2_9/reactos/subsys/win32k/objects/dc.c
--- branches/ros-branch-0_2_9/reactos/subsys/win32k/objects/dc.c	2005-12-08 11:54:01 UTC (rev 19964)
+++ branches/ros-branch-0_2_9/reactos/subsys/win32k/objects/dc.c	2005-12-08 17:09:25 UTC (rev 19965)
@@ -987,7 +987,9 @@
     }
   }
 
-  Ret = IntGdiCreateDC(&SafeDriver, &SafeDevice, NULL, &SafeInitData, FALSE);
+  Ret = IntGdiCreateDC(NULL == Driver ? NULL : &SafeDriver,
+                       NULL == Device ? NULL : &SafeDevice, NULL,
+                       NULL == InitData ? NULL : &SafeInitData, FALSE);
 
   return Ret;
 }