diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-08-23 13:55:08 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-08-03 18:18:13 +0000 |
commit | 3014e2bf01ab256531f71dc97efcdaec07cd23cc (patch) | |
tree | 3f940198fab7dc8a1178a11f7ee10d9885ea4a31 /src/widgets/kernel/qopenglwidget.cpp | |
parent | b9b53adb69bd75e09b2ac96256594baa62c6c06d (diff) | |
download | qtbase-3014e2bf01ab256531f71dc97efcdaec07cd23cc.tar.gz |
Don't ignore alpha values in grabFramebuffer methods
Returns an ARGB32_Premultiplied image when the framebuffer
is grabbed on a transparent QOpenGLWidget or QOpenGLWindow.
Task-number: QTBUG-55245
Change-Id: I4b7778ecc38275be1ed9fb748c77c7e1f6b65a00
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/widgets/kernel/qopenglwidget.cpp')
-rw-r--r-- | src/widgets/kernel/qopenglwidget.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index c96b6812c4..51e78ec765 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -938,7 +938,8 @@ QImage QOpenGLWidgetPrivate::grabFramebuffer() q->makeCurrent(); } - QImage res = qt_gl_read_framebuffer(q->size() * q->devicePixelRatioF(), false, false); + const bool hasAlpha = q->format().hasAlpha(); + QImage res = qt_gl_read_framebuffer(q->size() * q->devicePixelRatioF(), hasAlpha, hasAlpha); res.setDevicePixelRatio(q->devicePixelRatioF()); // While we give no guarantees of what is going to be left bound, prefer the |