Use a different magic for memory DCs and get rid of the DC_MEMORY
flag.
diff --git a/include/gdi.h b/include/gdi.h
index 7a190ee..cf2b282 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -41,7 +41,8 @@
#define METAFILE_DC_MAGIC 0x4f51
#define ENHMETAFILE_MAGIC 0x4f52
#define ENHMETAFILE_DC_MAGIC 0x4f53
-#define LAST_MAGIC 0x4f53
+#define MEMORY_DC_MAGIC 0x4f54
+#define LAST_MAGIC 0x4f54
#define MAGIC_DONTCARE 0xffff
@@ -296,7 +297,6 @@
#define DCHF_VALIDATEVISRGN 0x0002
/* DC flags */
-#define DC_MEMORY 0x0001 /* It is a memory DC */
#define DC_SAVED 0x0002 /* It is a saved DC */
#define DC_DIRTY 0x0004 /* hVisRgn has to be updated */
#define DC_THUNKHOOK 0x0008 /* DC hook is in the 16-bit code */
@@ -455,7 +455,7 @@
extern POINT *GDI_Bezier( const POINT *Points, INT count, INT *nPtsOut );
-extern DC * DC_AllocDC( const DC_FUNCTIONS *funcs );
+extern DC * DC_AllocDC( const DC_FUNCTIONS *funcs, WORD magic );
extern DC * DC_GetDCPtr( HDC hdc );
extern DC * DC_GetDCUpdate( HDC hdc );
extern void DC_InitDC( DC * dc );