summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoabackingstore.mm
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-05 10:02:08 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-04-05 10:02:09 +0200
commitbfe5e510b90684d016fb0c68114f85708f7cffda (patch)
tree0ae25857ca1f50bd04ea1b405afcf863b082b012 /src/plugins/platforms/cocoa/qcocoabackingstore.mm
parent6ada4155aff6a106d918ec1b93923bed9617ab27 (diff)
parent4b4870a12cd920cd45c534deae7ca90716398a19 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoabackingstore.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoabackingstore.mm8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.mm b/src/plugins/platforms/cocoa/qcocoabackingstore.mm
index 3621e5102f..5eb45be04a 100644
--- a/src/plugins/platforms/cocoa/qcocoabackingstore.mm
+++ b/src/plugins/platforms/cocoa/qcocoabackingstore.mm
@@ -163,9 +163,11 @@ void QCocoaBackingStore::flush(QWindow *window, const QRegion &region, const QPo
const qreal devicePixelRatio = m_image.devicePixelRatio();
// If the flushed window is a content view, and not in unified toolbar mode,
- // we can get away with copying the backingstore instead of blending.
- const NSCompositingOperation compositingOperation = static_cast<QCocoaWindow *>(
- window->handle())->isContentView() && !windowHasUnifiedToolbar() ?
+ // and is fully opaque, we can get away with copying the backingstore instead
+ // of blending.
+ QCocoaWindow *cocoaWindow = static_cast<QCocoaWindow *>(window->handle());
+ const NSCompositingOperation compositingOperation = cocoaWindow->isContentView()
+ && cocoaWindow->isOpaque() && !windowHasUnifiedToolbar() ?
NSCompositingOperationCopy : NSCompositingOperationSourceOver;
#ifdef QT_DEBUG