|
|
@ -6082,10 +6082,10 @@ void bitBlt( QImage* dst, int dx, int dy, const QImage* src,
|
|
|
|
// - 1 bit, identical palette and byte-aligned area
|
|
|
|
// - 1 bit, identical palette and byte-aligned area
|
|
|
|
//
|
|
|
|
//
|
|
|
|
if ( haveSamePalette(*dst,*src)
|
|
|
|
if ( haveSamePalette(*dst,*src)
|
|
|
|
&& ( dst->depth() != 1 ||
|
|
|
|
&& ( (dst->depth() != 1) ||
|
|
|
|
!( (dx&7) || (sx&7) ||
|
|
|
|
(!( (dx&7) || (sx&7) ||
|
|
|
|
((sw&7) && (sx+sw < src->width()) ||
|
|
|
|
(((sw&7) && (sx+sw < src->width())) ||
|
|
|
|
(dx+sw < dst->width()) ) ) ) )
|
|
|
|
(dx+sw < dst->width()) ) )) ) )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// easy to copy
|
|
|
|
// easy to copy
|
|
|
|
} else if ( dst->depth() != 32 ) {
|
|
|
|
} else if ( dst->depth() != 32 ) {
|
|
|
@ -6103,7 +6103,7 @@ void bitBlt( QImage* dst, int dx, int dy, const QImage* src,
|
|
|
|
// Now assume palette can be ignored
|
|
|
|
// Now assume palette can be ignored
|
|
|
|
|
|
|
|
|
|
|
|
if ( dst->depth() != src->depth() ) {
|
|
|
|
if ( dst->depth() != src->depth() ) {
|
|
|
|
if ( sw == src->width() && sh == src->height() || dst->depth()==32 ) {
|
|
|
|
if ( ((sw == src->width()) && (sh == src->height())) || (dst->depth()==32) ) {
|
|
|
|
QImage srcconv = src->convertDepth( dst->depth(), conversion_flags );
|
|
|
|
QImage srcconv = src->convertDepth( dst->depth(), conversion_flags );
|
|
|
|
bitBlt( dst, dx, dy, &srcconv, sx, sy, sw, sh, conversion_flags );
|
|
|
|
bitBlt( dst, dx, dy, &srcconv, sx, sy, sw, sh, conversion_flags );
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|