http://bugs.winehq.org/show_bug.cgi?id=18672
--- Comment #16 from Austin English austinenglish@gmail.com 2010-01-01 20:19:55 --- (In reply to comment #15)
(In reply to comment #14)
and uses 100% of cpu between itself and wineserver...
Not good :).
Seems to be: ==8696== Invalid read of size 1 ==8696== at 0x40269A0: memcpy (mc_replace_strmem.c:497) ==8696== by 0x4B97662: GetDIBits (in /home/austin/wine-git/dlls/gdi32/gdi32.dll.so) ==8696== by 0x4A83E11: CopyImage (cursoricon.c:2733) ==8696== by 0x4949671: BM_Copy (bitmap.c:518) ==8696== by 0x495753B: PAINT_FileNew (paint.c:267) ==8696== by 0x4956CAD: WinMain (main.c:1483) ==8696== by 0x495A41E: main (in /home/austin/wine-git/programs/mspaint/mspaint.exe.so) ==8696== Address 0x7c040000 is not stack'd, malloc'd or (recently) free'd
The bitmap.c call is: HBITMAP BM_Copy(HBITMAP hbm) { return (HBITMAP)CopyImage(hbm, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG); }
Changing that to return 0 chills down the cpu, but then the image is black, not white. The code in paint.c needs to be fixed, it seems.
Anyway this shouldn't be accepted - all file loading and saving is in wincodecs now, so mspaint should use gdiplus probably (or directly windowscodecs).
Well, I'll leave that for someone else. I've done most of the grunt work ;-).