diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-02-06 12:25:15 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-02-08 11:33:01 +0000 |
commit | ce088cb754331104b07f16020abcb99172b01f55 (patch) | |
tree | 722993904d02f3c0df7ae3ed2a72acb14d932564 /src | |
parent | 148e793dec13e62cce022022826402ac4ea60eb5 (diff) |
Call QPainter::end() prior to QPixmapCache::insert()
Inserting a QPixmap with active painters on it causes it to
do a deep copy of it, which is unnecessary.
Task-number: QTBUG-58653
Change-Id: I49123ffcec2e12a01c87974b7a513d68a11185d4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/stylehelper.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/fancyactionbar.cpp | 1 | ||||
-rw-r--r-- | src/plugins/coreplugin/fancytabwidget.cpp | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp index 088b7ff515..93c7125e05 100644 --- a/src/libs/utils/stylehelper.cpp +++ b/src/libs/utils/stylehelper.cpp @@ -455,6 +455,7 @@ void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, // Draw the actual pixmap... cachePainter.drawPixmap(QRect(QPoint(radius, radius) + offset, QSize(px.width(), px.height())), px); + cachePainter.end(); cache.setDevicePixelRatio(devicePixelRatio); QPixmapCache::insert(pixmapName, cache); } diff --git a/src/plugins/coreplugin/fancyactionbar.cpp b/src/plugins/coreplugin/fancyactionbar.cpp index e6ad99bc1b..f5588a99b2 100644 --- a/src/plugins/coreplugin/fancyactionbar.cpp +++ b/src/plugins/coreplugin/fancyactionbar.cpp @@ -326,6 +326,7 @@ void FancyToolButton::hoverOverlay(QPainter *painter, const QRect &spanRect) p.setPen(QPen(grad, 1.0)); p.drawLine(borderRect.topLeft(), borderRect.topRight()); p.drawLine(borderRect.bottomLeft(), borderRect.bottomRight()); + p.end(); QPixmapCache::insert(cacheKey, overlay); } diff --git a/src/plugins/coreplugin/fancytabwidget.cpp b/src/plugins/coreplugin/fancytabwidget.cpp index b9c7c59a89..e741aa87e6 100644 --- a/src/plugins/coreplugin/fancytabwidget.cpp +++ b/src/plugins/coreplugin/fancytabwidget.cpp @@ -273,6 +273,7 @@ static void paintSelectedTabBackground(QPainter *painter, const QRect &spanRect) p.drawLine(borderRect.topLeft() + QPointF(0, 0), borderRect.topRight()); p.drawLine(borderRect.topRight() + QPointF(0, 1), borderRect.bottomRight() - QPointF(0, 1)); p.drawLine(borderRect.bottomLeft() + QPointF(0, -1), borderRect.bottomRight() - QPointF(0, 1)); + p.end(); QPixmapCache::insert(cacheKey, selection); } |