Qt 5.6 - QWidget::repaint() does not trigger a repaint before returning
In certain areas of my application I need to call
QWidget::repaint()in order to re-render a frame in OpenGL, so that I can access the depth buffer information at that particular instance in time. Initially I was using
QWidget::update(), but later determined that
repaint()was required as it ensured that the refresh happened immediately instead of being scheduled for the near future.
This method worked fine in Qt 5.5.1 that I used to be running - however, after updating to Qt 5.6
repaint()just seems to act like
update()instead. I verified this by putting a breakpoint within my
paintGL()function and on the invocation of
paintGL()breakpoint was not hit before
repaint()returned, when previously this was the case.
Am I missing something important, or is this a bug?
Can you make a small compilable example that reproduces that behavior change ?
You also might want to take a look at the bug report system to see if there's something mentioning that.