An issue with Qt styling and/or threads?



I have a problem running a Gtk program when using the "Qt" style as
supplied via gtk-qt-engine and kde-config-gtk-style.

The program is a fairly heavy duty computation that uses openmp for
parallel computation and has a gtk progress monitor (which is updated
from within a "critical" section so it can never be accessed by more
than one thread at a time). When the "Qt" style is selected, the
progress bars (gtk_progress_bar) are corrupted and the errors below
are displayed repeatedly:

(th_run:2015): Gdk-CRITICAL **: gdk_pixmap_foreign_new_for_display:
assertion `(anid != 0)' failed

(th_run:2015): Gdk-CRITICAL **: gdk_draw_drawable: assertion
`GDK_IS_DRAWABLE (src)' failed

(th_run:2015): GLib-GObject-CRITICAL **: g_object_unref: assertion
`G_IS_OBJECT (object)' failed
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: Paint device returned engine == 0, type: 2
QPixmap: It is not safe to use pixmaps outside the GUI thread
QPainter::end: Painter not active, aborted

The problem does not occur with other Gtk style settings (e.g. Nuvola).
I'm not sure if the problem is with the Qt wrapper, Gtk+ or my code.

FWIW I'm running Debian stable, with Gtk+ 2.20.

Any ideas?
James



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]