http://bugs.winehq.org/show_bug.cgi?id=421
--- Comment #90 from max@veneto.com 2008-11-20 15:24:13 --- (In reply to comment #89)
Thanx max very much! :-) I will try it tonight!
Gryffus
The engine has a bug in dlls/winedib.drv/bitblt.c; here the corrected snipped : ------------------------------------------------- /*********************************************************************** * DIBDRV_StretchBlt */ BOOL DIBDRV_StretchBlt( DIBDRVPHYSDEV *physDevDst, INT xDst, INT yDst, INT widthDst, INT heightDst, DIBDRVPHYSDEV *physDevSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, DWORD rop ) { INT i, min_width, min_height; TRACE("stub %p %d %d %d %d %p %d %d %d %d %d\n", physDevDst, xDst, yDst, widthDst, heightDst, physDevSrc, xSrc, ySrc, widthSrc, heightSrc, rop); min_width = physDevDst->bmp->width - xDst < physDevSrc->bmp->width - xSrc ? physDevDst->bmp->width - xDst : physDevSrc->bmp->width - xSrc; min_height = physDevDst->bmp->height - yDst < physDevSrc->bmp->height - ySrc ? physDevDst->bmp->height - yDst : physDevSrc->bmp->height - ySrc;
-------------------------------------------------
x and y were partially swapped, which caused crashes on bitmaps with non-identical height and whidth. Btw, blt routines could be optimized, but I'm looking to font and clipping stuffs before that.
Ciao
Max