[Bug 421] Implement a DIB engine

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Nov 20 15:24:17 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=421





--- Comment #90 from max at 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


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list