Fix texture-based native child widget stretching
The new rhi-based approach to compositing has a difference in transform calculation which becomes relevant with native child widgets (so when the flush offset is > 0). This is incorrect, so restore how 6.3 and earlier did this calculation. Pick-to: 6.4 Fixes: QTBUG-107814 Change-Id: I98fe866d6c857343f25f39450ee60fd307bcdb63 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This commit is contained in:
parent
65279d6e9d
commit
d59b2fde5e
@ -508,8 +508,7 @@ QPlatformBackingStore::FlushResult QBackingStoreDefaultCompositor::flush(QPlatfo
|
||||
if (m_texture) {
|
||||
// The backingstore is for the entire tlw.
|
||||
// In case of native children offset tells the position relative to the tlw.
|
||||
const QRect textureRect = QRect(QPoint(), m_texture->pixelSize());
|
||||
const QRect srcRect = toBottomLeftRect(textureRect.translated(deviceWindowOffset), m_texture->pixelSize().height());
|
||||
const QRect srcRect = toBottomLeftRect(deviceWindowRect.translated(deviceWindowOffset), m_texture->pixelSize().height());
|
||||
const QMatrix3x3 source = sourceTransform(srcRect, m_texture->pixelSize(), origin);
|
||||
QMatrix4x4 target; // identity
|
||||
if (invertTargetY)
|
||||
|
Loading…
Reference in New Issue
Block a user