gdi32: Don't set the bitmap owner when selecting a pattern brush.

oldstable
Alexandre Julliard 2011-11-07 22:21:37 +01:00
parent 0c5d619bd3
commit 5e1599d8c0
3 changed files with 2 additions and 14 deletions

View File

@ -530,7 +530,7 @@ static void set_initial_bitmap_bits( HBITMAP hbitmap, BITMAPOBJ *bmp )
* bitmap is selected into a device to initialize the bitmap function * bitmap is selected into a device to initialize the bitmap function
* table. * table.
*/ */
BOOL BITMAP_SetOwnerDC( HBITMAP hbitmap, PHYSDEV physdev ) static BOOL BITMAP_SetOwnerDC( HBITMAP hbitmap, PHYSDEV physdev )
{ {
BITMAPOBJ *bitmap; BITMAPOBJ *bitmap;
BOOL ret = TRUE; BOOL ret = TRUE;

View File

@ -488,16 +488,6 @@ static HGDIOBJ BRUSH_SelectObject( HGDIOBJ handle, HDC hdc )
if (bmp && bmp->funcs != physdev->funcs) store_bitmap_bits( brush, bmp ); if (bmp && bmp->funcs != physdev->funcs) store_bitmap_bits( brush, bmp );
GDI_ReleaseObj( bitmap ); GDI_ReleaseObj( bitmap );
} }
if (brush->logbrush.lbStyle == BS_PATTERN)
{
PHYSDEV pattern_dev = physdev;
/* FIXME: This will go away once the dib driver implements
pattern brushes */
if(pattern_dev == dc->dibdrv)
pattern_dev = GET_NEXT_PHYSDEV( physdev, pSelectBrush );
BITMAP_SetOwnerDC( bitmap, pattern_dev );
}
info = brush->info; info = brush->info;
bits = brush->bits.ptr; bits = brush->bits.ptr;

View File

@ -228,9 +228,7 @@ extern DWORD stretch_bits( const BITMAPINFO *src_info, struct bitblt_coords *src
BITMAPINFO *dst_info, struct bitblt_coords *dst, BITMAPINFO *dst_info, struct bitblt_coords *dst,
struct gdi_image_bits *bits, int mode ) DECLSPEC_HIDDEN; struct gdi_image_bits *bits, int mode ) DECLSPEC_HIDDEN;
/* bitmap.c */ /* brush.c */
extern BOOL BITMAP_SetOwnerDC( HBITMAP hbitmap, PHYSDEV physdev ) DECLSPEC_HIDDEN;
extern BOOL get_brush_bitmap_info( HBRUSH handle, BITMAPINFO *info, void **bits, UINT *usage ) DECLSPEC_HIDDEN; extern BOOL get_brush_bitmap_info( HBRUSH handle, BITMAPINFO *info, void **bits, UINT *usage ) DECLSPEC_HIDDEN;
/* clipping.c */ /* clipping.c */