-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Following unstable behavior has been detected for qtbase in Windows platform:
- qtbase example demo/characterWidget crashes at the beginning or after some left mouse button click on the characters
- qtpaint fails when test->repaint() in function qanviz_painter_test in file TestWidget.cpp gets called several times
- cranvas fails when moving the mouse button fast in a qscatter plot; Similar crashes can be observed for key press for qscatter as well as for qhist or other plots.
qtpaint and cranvas both depend on qtbase package, and although both of these packages show warnings such as "recursive repaint detected", I believe all the above 3 crashes are happening due to lack of synchronization between single-threaded R's event-loop and Qt's event-loop.
EventLoop.cpp file in qtbase has an effort to perform the eventloop synchronization between R and Qt for linux platform but nothing corresponding to Windows, specially because of the absence of "addInputHandler" type of mechanism in Windows.
One possible approach for making the Windows version stable could be to mimic the eventloop synchronization in linux by creating a dummy window in Windows and sending message to it.
Test Platform: Windows 7 64 bit
R version: 3.0.1
Qt version: 4.8.4