Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QOpenGLWidget::update() stops working after a while
Ulysse last edited by Ulysse
I have an application that uses a QOpenGLWidget to draw a scene contained in framebuffer wich is previously rendered offscreen in another thread.
When the scene has finished rendering, the rendering thread signals the main thread to update the QOpenGLWidget.
My problem is that sometimes, the widget stops from being repainted (and never comes back to normal behavior)
The update function continues to be called regularly
The paintGL function is not called anymore
However, resizing the main window (that contains the widget) triggers a repaint, and draw the scene just the way it should
Do you have any idea of what could cause this problem ?
There is no warning log of any kind when the update problem starts to occur
How could i debug this ?
Can you share your code ?
Ulysse last edited by
I am afraid i can't, I don't have the right to and it comes along with some elements of the system that would make the 'snippet' too large to be concise
However there's a mistake in my post : the rendering thread does not signal the
update()itself, it directly calls
update()on it instead.
This may cause a problem if
update()is not thread safe as i thought it was. Is it ?
Should I send a signal in order to call
update()in the main thread ? Or
repaint()? Although the latter does not seem to be a good idea as i need the drawing to be as smooth as possible
You should not call GUI function from a different thread. Signal and slots is the way to go.