2010-12-14 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
https://bugs.webkit.org/show_bug.cgi?id=51037
It's enough to restore the CompositeOperator after drawing.
* platform/graphics/qt/ImageQt.cpp:
(WebCore::Image::drawPattern):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/platform/graphics/qt/ImageQt.cpp b/WebCore/platform/graphics/qt/ImageQt.cpp
index 3611308..f713d37 100644
--- a/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -114,7 +114,7 @@
if (tr.x() || tr.y() || tr.width() != pixmap.width() || tr.height() != pixmap.height())
pixmap = pixmap.copy(tr);
- ctxt->save();
+ CompositeOperator previousOperator = ctxt->compositeOperation();
ctxt->setCompositeOperation(op);
QPainter* p = ctxt->platformContext();
@@ -130,7 +130,7 @@
b.setTransform(transform);
p->fillRect(dr, b);
- ctxt->restore();
+ ctxt->setCompositeOperation(previousOperator);
if (imageObserver())
imageObserver()->didDraw(this);