gtk-qt-engine does not work if GTK main event loop runs in secondary thread
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gtk-qt-engine (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: gtk-qt-engine
Hello,
when the main event loop of a GTK application runs in a secondary thread, then the Qt4 style for GTK in KDE4 fails to work properly while mapping GTK-calls into Qt4 ones.
A simple way of reproducing the error is with gnuplot: Just start gnuplot, and execute "test", you will get the following error messages:
Pixmap: 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
(<unknown>:7518): Gdk-CRITICAL **: gdk_pixmap_
(<unknown>:7518): Gdk-CRITICAL **: gdk_draw_drawable: assertion `GDK_IS_DRAWABLE (src)' failed
(<unknown>:7518): GLib-GObject-
These errors disappear just by changing the GTK style in "System Settings/
Other applications, like the examples of LTI-Lib-2 that use an image viewer, produce the same effect, and furthermore the style even fails to correctly paint scrollbars, buttons, etc.
My /etc/lsb-release:
DISTRIB_ID=Ubuntu
DISTRIB_
DISTRIB_
DISTRIB_
and
> apt-cache policy gtk-qt-engine
gtk-qt-engine:
Installed: 1:1.1+svn200808
Candidate: 1:1.1+svn200808
Version table:
*** 1:1.1+svn200808
500 http://
100 /var/lib/
Regards
Pablo
Sadly, gtk-qt-engine is a quite broken piece of software and has been removed from distribution. (See bug 404930)
Unfortunately this means that the large number of bugs will not be seeing fixes. :(
For now, the best integration option for KDE is the QtCurve style, (gtk2-engines- qtcurve) which offers a theme quite similar to the default Oxygen theme. The configuration module for gtk-qt-engine has been salvaged and is now living in the kcm-gtk package, which will be available and installed by default in Kubuntu 9.10.
Thanks for understanding. This package tried its best, but in the end did not live up to the standards required by anybody who doesn't like looking at a broken Oxygen imitation.