Note that there are some explanatory texts on larger screens.

plurals
  1. POQGLWidget Rendering The surrounding widgets
    primarykey
    data
    text
    <p>This problem is exceedingly difficult to explain, I can't even think of a word to explain this phenomenon so I will just show you a picture.</p> <p><img src="https://i.stack.imgur.com/ghDtf.png" alt="enter image description here"></p> <p>On the far left is the actual dockwidget, and where its all overlapping is an openGL widget, which is supposed to be drawing blue and a tree. But it isn't.</p> <p>What is this problem even called and how do I fix it?</p> <p>I should also add that when there is no dockwidget involved it works perfectly.</p> <p>EDIT: New information, after profiling the app in an openGL profiler I have discovered that when the dock widget is used, CGLUpdateContext is never called for some reason, and every single gl call results in an error <code>GL_INVALID_FRAMEBUFFER_OPERATIO</code>N I also found the error <code>invalid drawable</code> appearing in the console.</p> <p>Further research shows this might be bug in Qt. I shall look into it more.</p> <p>EDIT2: I have put in this check before initializing openGL and calling glClear, which is where the first error is thrown. </p> <pre><code>GLenum er = glCheckFramebufferStatus(GL_FRAMEBUFFER); if(er != GL_FRAMEBUFFER_COMPLETE) { abort(); } </code></pre> <p>When a dock widget is used, this aborts at this point, telling us the frame buffer is incomplete. However, if I remove the dock widget, this does not abort and the app works fine. I now know that the frame buffer is incomplete, but why? This is a problem with Qt not my code.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload