diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/platforms/ios/qiosbackingstore.mm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/qiosbackingstore.mm b/src/plugins/platforms/ios/qiosbackingstore.mm index 5ee048cb2f..566ff3a672 100644 --- a/src/plugins/platforms/ios/qiosbackingstore.mm +++ b/src/plugins/platforms/ios/qiosbackingstore.mm @@ -92,6 +92,13 @@ void QIOSBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoin Q_UNUSED(region); Q_UNUSED(offset); + if (window != this->window()) { + // We skip flushing raster-based child windows, to avoid the extra cost of copying from the + // parent FBO into the child FBO. Since the child is already drawn inside the parent FBO, it + // will become visible when flushing the parent. The only case we end up not supporting is if + // the child window overlaps a sibling window that's draws using a separate QOpenGLContext. + return; + } m_context->swapBuffers(window); } |