From 13cbbef38cf7dd58a5550a8548a9ea9e820cca85 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 21 Jun 2018 13:23:55 +0200 Subject: QQuickRenderControl: Grab framebuffer with alpha if the window uses it Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1 Reviewed-by: Laszlo Agocs --- src/quick/items/qquickrendercontrol.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp index 49568db552..fb1c6366f2 100644 --- a/src/quick/items/qquickrendercontrol.cpp +++ b/src/quick/items/qquickrendercontrol.cpp @@ -386,7 +386,8 @@ QImage QQuickRenderControl::grab() cd->syncSceneGraph(); d->rc->endSync(); render(); - grabContent = qt_gl_read_framebuffer(d->window->size() * d->window->effectiveDevicePixelRatio(), false, false); + const bool alpha = d->window->format().alphaBufferSize() > 0 && d->window->color().alpha() < 255; + grabContent = qt_gl_read_framebuffer(d->window->size() * d->window->effectiveDevicePixelRatio(), alpha, alpha); if (QQuickRenderControl::renderWindowFor(d->window)) { grabContent.setDevicePixelRatio(d->window->effectiveDevicePixelRatio()); } -- cgit v1.2.3