gdiplus: Return an error for consecutive GdipLockBitmapBit calls.

This commit is contained in:
Nathan Beckmann 2008-03-07 01:19:05 -08:00 committed by Alexandre Julliard
parent eabc62db00
commit e3f8f30a21
2 changed files with 3 additions and 6 deletions

View File

@ -114,8 +114,7 @@ GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* bitmap, GDIPCONST GpRect* rect,
if(flags & ImageLockModeUserInputBuf) if(flags & ImageLockModeUserInputBuf)
return NotImplemented; return NotImplemented;
if((bitmap->lockmode & ImageLockModeWrite) || (bitmap->lockmode && if(bitmap->lockmode)
(flags & ImageLockModeWrite)))
return WrongState; return WrongState;
IPicture_get_Handle(bitmap->image.picture, &hbm); IPicture_get_Handle(bitmap->image.picture, &hbm);

View File

@ -214,10 +214,8 @@ static void test_LockBits(void)
/* read x2 */ /* read x2 */
stat = GdipBitmapLockBits(bm, &rect, ImageLockModeRead, PixelFormat24bppRGB, &bd); stat = GdipBitmapLockBits(bm, &rect, ImageLockModeRead, PixelFormat24bppRGB, &bd);
expect(Ok, stat); expect(Ok, stat);
todo_wine { stat = GdipBitmapLockBits(bm, &rect, ImageLockModeRead, PixelFormat24bppRGB, &bd);
stat = GdipBitmapLockBits(bm, &rect, ImageLockModeRead, PixelFormat24bppRGB, &bd); expect(WrongState, stat);
expect(WrongState, stat);
}
stat = GdipBitmapUnlockBits(bm, &bd); stat = GdipBitmapUnlockBits(bm, &bd);
expect(Ok, stat); expect(Ok, stat);