mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-31 09:14:11 -05:00
Two 3D views docked in the same tab group render black after switching between tabs. Tracing the render path shows it completes correctly every time: the offscreen FBO is complete, no OpenGL context is created or destroyed on a tab switch, and the blit lands on the widget's own default framebuffer in the widget's own context. The pixels are produced and never reach the screen. Without a native window a QOpenGLWidget is composited into the top-level backing store, and that composition is not refreshed when the dock system hides one viewer and shows another in the same tab group. A native surface skips compositing, and the black view goes away. On Wayland a native child widget becomes a subsurface with its own rendering and stacking problems, so this is opt-in rather than default. Set RESINSIGHT_ENABLE_NATIVE_GL_WIDGET=1 to enable it. cafViewer now links cafPdmCore so the viewer can log through caf, which is bridged to RiaLogging and therefore reaches the ResInsight log file.