Hi,
Here is a patch that works with XP. It does reveal something very interesting.
Enjoy!
James
Index: dce.c
===================================================================
RCS file: /home/wine/wine/dlls/user32/tests/dce.c,v
retrieving revision 1.4
diff -u -r1.4 dce.c
--- dce.c 25 Feb 2008 20:22:42 -0000 1.4
+++ dce.c 5 Jul 2008 05:09:54 -0000
@@ -73,11 +73,20 @@
ok( rop == def_rop || rop == R2_WHITE, "wrong ROP2 %d after
release\n", rop );
ReleaseDC( hwnd_cache, hdc );
+ old_hdc = hdc;
hdc = GetDCEx( hwnd_cache, 0, DCX_USESTYLE );
rop = GetROP2( hdc );
+ ok( old_hdc != hdc, "did get same DC %p/%p\n", old_hdc, hdc );
ok( rop == def_rop, "wrong ROP2 %d after release\n", rop );
ReleaseDC( hwnd_cache, hdc );
+ hdc = GetDCEx( hwnd_cache, 0, DCX_USESTYLE | DCX_NORESETATTRS );
+ rop = GetROP2( hdc );
+ ok( old_hdc == hdc, "didn't get same DC %p/%p\n", old_hdc, hdc );
+ ok( rop == def_rop || rop == R2_WHITE, "wrong ROP2 %d after
release\n", rop );
+ ReleaseDC( hwnd_cache, hdc );
+
+
/* test own DC */
hdc = GetDC( hwnd_owndc );