Commit 5a52bdf
docs: SG-43585: record why macOS keeps the software Qt Quick backend
The QT_QUICK_BACKEND comments no longer described reality. Both files still
explained the setting as a Qt 5.12.1 workaround for QWebEngineView conflicting
with the QGLWidget viewport, which has not been the reason since the viewport
became a native QOpenGLWindow.
src/bin/apps/rv/main.cpp (Windows, Linux): drop the block outright. The call was
already commented out, so all that remained was a commented-out line plus a
rationale for a decision the code no longer makes. Linux has since confirmed the
setting is not needed there -- it launches and runs docked web panels without it.
src/bin/nsapps/RV/main.cpp (macOS): the setting stays, and the comment now says
why, because it is load bearing rather than vestigial. The viewport window is
embedded with QWidget::createWindowContainer, making it a QObject child of the
top level window's QWidgetWindow. With the hardware Qt Quick backend, adding a
QWebEngineView makes Qt destroy and recreate that native subtree; the viewport
window is deleted with it rather than reparented, and QWindowContainer then
dereferences the window it just lost, so RV segfaults inside Qt. Measured on
macOS with the four line reproducer now quoted in the comment: software backend
survives 2/2, hardware backend crashes 2/2.
The cost is that macOS web panels composite in software, so macOS gets the cheap
viewport repaint half of this work but not the hardware web panel half. Noted in
the comment so the asymmetry with Windows and Linux reads as deliberate.
Comment-only; no compiled behaviour changes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Bernard Laberge <bernard.laberge@autodesk.com>1 parent 80b2e64 commit 5a52bdf
2 files changed
Lines changed: 28 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | 356 | | |
369 | 357 | | |
370 | 358 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
287 | | - | |
288 | | - | |
289 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
290 | 315 | | |
291 | 316 | | |
292 | 317 | | |
| |||
0 commit comments