Hallo Everybody!
I'm experiencing with a sneaky bug of my Qt application.

Briefly, in my application there's a QWidget drawing a plot: its name is MyPlotWidget and it's child of one child of QMainWindow's instance.
MyPlotWidget's refresh is triggered by a signal coming from a worker thread and connected to MyPlotWidget::refresh_slot():

MyPlotWidget::refresh_slot()
{
if(isVisible())
{
update();
QApplication:rocessEvents(); // This code line was added trying to fix the bug, but unsuccessfully
}
}

MyPlotWidget has a redefined MyPlotWidget:aintEvent(QPaintEvent *) which execution takes about 30-40ms.
The refresh triggering signal is emitted every 200ms.

The problem is that after a while (minutes) the system gets frozen: MyPlotWidget::refresh_slot() is called regularly every 200ms, update() is also called, but no paintEvent!!!
In another widget, "brother" of MyPlotWidget, there's a textual clock, which refresh is triggered by a QTimer: it gets frozen too.
The freeze condition is reversible: it's enough to touch the screen and trigger a layout change with resulting graphical refresh.

It's like the processing of the eventLoop is blocked. Possible?

Reading the documentaion, i see that the QEventLoop class has a wakeUp method...how should it be used? And why?
Why the eventLoop should be awaken?
How could I become aware that the QEventLoop is asleep?

Help appreciated, thank you very much!