aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickrendercontrol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickrendercontrol.cpp')
-rw-r--r--src/quick/items/qquickrendercontrol.cpp3
1 files changed, 2 insertions, 1 deletions
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());
}