Fix problem with grabWindow on Mac OS X 10.6 with Cocoa

For some reason the test did not fail locally but fails in the CI
system.  A manual check of the images from the test shows it should
have failed.  Reason for this will be investigated separately

Reviewed-by: Sergio Ahumada

(cherry picked from commit c5f46907fbc0354aacc4bc4a6f5ab97c8b656d1a)

Change-Id: I15f09649bb37dd97401926eb5e52f33748e11ec0
Reviewed-on: http://codereview.qt-project.org/4668
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This commit is contained in:
Andy Shaw 2011-08-22 15:16:34 +02:00 committed by Qt by Nokia
parent 560e68e2bd
commit baf2b1f9b2

View File

@ -868,9 +868,8 @@ static QPixmap qt_mac_grabScreenRect_10_6(const QRect &rect)
const CGRect bounds = CGDisplayBounds(displays[i]);
// Translate to display-local coordinates
QRect displayRect = rect.translated(qRound(-bounds.origin.x), qRound(-bounds.origin.y));
// Adjust for inverted y axis.
displayRect.moveTop(qRound(bounds.size.height) - displayRect.y() - rect.height());
QCFType<CGImageRef> image = CGDisplayCreateImageForRect(displays[i], bounds);
QCFType<CGImageRef> image = CGDisplayCreateImageForRect(displays[i],
CGRectMake(displayRect.x(), displayRect.y(), displayRect.width(), displayRect.height()));
QPixmap pix = QPixmap::fromMacCGImageRef(image);
QPainter painter(&windowPixmap);
painter.drawPixmap(-bounds.origin.x, -bounds.origin.y, pix);