[WIN32K]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 19 Feb 2011 23:44:36 +0000 (23:44 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 19 Feb 2011 23:44:36 +0000 (23:44 +0000)
commitebc9df1a2548364d77a00b72a302c547e349bb9d
tree3a3b8ae6e7d358910386d9011fce616db6549ea9
parent3e75942b109a5408cf0c4a8184537f847263272c
[WIN32K]
NtGdiSelectBitmap. Don't exclusively lock the old bitmap. This could cause pool corruptions, when the share count reachted 0, the object was deleted and unlocked after that. Use InterlockedCompareExchange to check and exchange the new bitmaps dc. This is commented out, because it causes a lot of drawing problems. Do the referencing manually instead of calling DC_vSelectSurface. Use a shared reference instead of an exclusive lock for the new bitmap. add code for proper handling of DEFAULT_BITMAP, currently hacked due to restrictions in other parts of win32k. Fixes bug 5498 and probably a lot of other problems.

svn path=/trunk/; revision=50827
reactos/subsystems/win32/win32k/objects/dcobjs.c