summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2009-09-04 06:30:02 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2009-09-04 07:56:05 (GMT)
commitd22b55d3159c001dc6b37422cefbec6775996494 (patch)
treec285d998ce95e5c40bf12197a8009889c661c625 /src/gui/painting
parent161baea80667846f3d5e9c240bf6080d489209d3 (diff)
downloadQt-d22b55d3159c001dc6b37422cefbec6775996494.zip
Qt-d22b55d3159c001dc6b37422cefbec6775996494.tar.gz
Qt-d22b55d3159c001dc6b37422cefbec6775996494.tar.bz2
Fixed clipping of native style elements when raster is used on mac
Reviewed-by: Trond
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qpaintengine_mac.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/painting/qpaintengine_mac.cpp b/src/gui/painting/qpaintengine_mac.cpp
index 40ab95e..74fc793 100644
--- a/src/gui/painting/qpaintengine_mac.cpp
+++ b/src/gui/painting/qpaintengine_mac.cpp
@@ -121,11 +121,15 @@ QMacCGContext::QMacCGContext(QPainter *p)
if (devType == QInternal::Widget) {
QRegion clip = p->paintEngine()->systemClip();
+ QTransform native = p->deviceTransform();
+ QTransform logical = p->combinedTransform();
if (p->hasClipping()) {
+ QRegion r = p->clipRegion();
+ r.translate(native.dx() - logical.dx(), native.dy() - logical.dy());
if (clip.isEmpty())
- clip = p->clipRegion();
+ clip = r;
else
- clip &= p->clipRegion();
+ clip &= r;
}
qt_mac_clip_cg(context, clip, 0);