Signed-off-by: Daniel Lehman dlehman25@gmail.com --- 728 ==17404== 4 bytes in 1 blocks are definitely lost in loss record 5 of 506 729 ==17404== at 0x7BC5B465: initialize_block (heap.c:238) 730 ==17404== by 0x7BC5B465: RtlAllocateHeap (???:0) 731 ==17404== by 0x701A57D: copy_src_bits (bitblt.c:700) 732 ==17404== by 0x701A949: execute_rop (bitblt.c:765) 733 ==17404== by 0x701B9AA: dibdrv_PutImage (bitblt.c:1034) 734 ==17404== by 0x700346D: nulldrv_StretchBlt (bitblt.c:294) 735 ==17404== by 0x701CE81: dibdrv_StretchBlt (bitblt.c:1405) 736 ==17404== by 0x7005006: StretchBlt (bitblt.c:633) 737 ==17404== by 0x7004B19: BitBlt (bitblt.c:580) 738 ==17404== by 0x6CBEB03: check_BitBlt_pixel (bitmap.c:3006) 739 ==17404== by 0x6CDD18C: test_BitBlt (bitmap.c:3054) 740 ==17404== by 0x6CDD18C: func_bitmap (???:0) 741 ==17404== by 0x6CBD941: main (test.h:617) 742 ==17404== 743 ==17404== 4 bytes in 1 blocks are definitely lost in loss record 6 of 506 744 ==17404== at 0x7BC5B465: initialize_block (heap.c:238) 745 ==17404== by 0x7BC5B465: RtlAllocateHeap (???:0) 746 ==17404== by 0x701A57D: copy_src_bits (bitblt.c:700) 747 ==17404== by 0x701A949: execute_rop (bitblt.c:765) 748 ==17404== by 0x701B9AA: dibdrv_PutImage (bitblt.c:1034) 749 ==17404== by 0x700346D: nulldrv_StretchBlt (bitblt.c:294) 750 ==17404== by 0x701CE81: dibdrv_StretchBlt (bitblt.c:1405) 751 ==17404== by 0x7005006: StretchBlt (bitblt.c:633) 752 ==17404== by 0x7004B19: BitBlt (bitblt.c:580) 753 ==17404== by 0x6CBEB03: check_BitBlt_pixel (bitmap.c:3006) 754 ==17404== by 0x6CDD216: test_BitBlt (bitmap.c:3057) 755 ==17404== by 0x6CDD216: func_bitmap (???:0) 756 ==17404== by 0x6CBD941: main (test.h:617)
--- dlls/gdi32/dibdrv/bitblt.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c index 0acb23f2e3..a84be8236e 100644 --- a/dlls/gdi32/dibdrv/bitblt.c +++ b/dlls/gdi32/dibdrv/bitblt.c @@ -1035,6 +1035,7 @@ DWORD dibdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info, &dc->brush_org, rop ); free_clipped_rects( &clipped_rects ); } + free_dib_info( &src_dib ); if (tmp_rgn) DeleteObject( tmp_rgn ); return ret;
On Wed, Dec 19, 2018 at 09:35:05PM -0800, Daniel Lehman wrote:
diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c index 0acb23f2e3..a84be8236e 100644 --- a/dlls/gdi32/dibdrv/bitblt.c +++ b/dlls/gdi32/dibdrv/bitblt.c @@ -1035,6 +1035,7 @@ DWORD dibdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info, &dc->brush_org, rop ); free_clipped_rects( &clipped_rects ); }
- free_dib_info( &src_dib ); if (tmp_rgn) DeleteObject( tmp_rgn ); return ret;
Thanks, this is probably fine for now. I'll probably come back after 4.0 and rework execute_rop() so that the freeing takes place in there.
Signed-off-by: Huw Davies huw@codeweavers.com