davidsansome / gtk-qt-engine

Automatically exported from code.google.com/p/gtk-qt-engine
7 stars 4 forks source link

Qt4 style fails if GTK main event loop runs on a secondary thread #69

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Using the Qt4 style in any GTK2 application where the GTK main event loop runs
in a secondary thread, such as gnuplot or the viewers of the LTI-Lib-2

The following errors appear:

QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPainter::begin: Cannot paint on a null pixmap
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::end: Painter not active, aborted

It seems that the style way of catching up the gtk-calls runs them in the wrong
thread, producing not only tons those error messages, but incorrectly painting
scrollbars, buttons, etc.

Workaround

Using QtCurve, Clearlooks or any other style correctly displays the dialogs and
avoids producing the errors.

What steps will reproduce the problem?

1. Start a KDE4 session 
2. Run gnuplot and execute "test"
3. The problem also appears running any application/example of the LTI-Lib 2 (an
image processing library)

Which Qt style are you using?

Qt4

Original issue reported on code.google.com by palvarad...@gmail.com on 4 Jul 2009 at 5:13