mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:56:26 +00:00
Set the ownership before locking the bitmap in EngCreateDeviceSurface, because GDIOBJ_SetOwnership runs in a dead lock if the object is already locked by the same process.
This may fix bug 747. svn path=/trunk/; revision=17621
This commit is contained in:
parent
acb0c26036
commit
2cea7b7c46
1 changed files with 2 additions and 2 deletions
|
@ -394,6 +394,8 @@ EngCreateDeviceSurface(IN DHSURF dhsurf,
|
||||||
if (NewSurface == NULL)
|
if (NewSurface == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
GDIOBJ_SetOwnership(NewSurface, NULL);
|
||||||
|
|
||||||
BitmapObj = BITMAPOBJ_LockBitmap(NewSurface);
|
BitmapObj = BITMAPOBJ_LockBitmap(NewSurface);
|
||||||
if (! BITMAPOBJ_InitBitsLock(BitmapObj))
|
if (! BITMAPOBJ_InitBitsLock(BitmapObj))
|
||||||
{
|
{
|
||||||
|
@ -403,8 +405,6 @@ EngCreateDeviceSurface(IN DHSURF dhsurf,
|
||||||
}
|
}
|
||||||
SurfObj = &BitmapObj->SurfObj;
|
SurfObj = &BitmapObj->SurfObj;
|
||||||
|
|
||||||
GDIOBJ_SetOwnership(NewSurface, NULL);
|
|
||||||
|
|
||||||
SurfObj->dhsurf = dhsurf;
|
SurfObj->dhsurf = dhsurf;
|
||||||
SurfObj->hsurf = NewSurface;
|
SurfObj->hsurf = NewSurface;
|
||||||
SurfObj->sizlBitmap = Size;
|
SurfObj->sizlBitmap = Size;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue