gtk-qt-engine does not work if GTK main event loop runs in secondary thread

Bug #395577 reported by jpam69
6
This bug affects 1 person
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_foreign_new_for_display: assertion `(anid != 0)' failed
(<unknown>:7518): Gdk-CRITICAL **: gdk_draw_drawable: assertion `GDK_IS_DRAWABLE (src)' failed
(<unknown>:7518): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

These errors disappear just by changing the GTK style in "System Settings/Appearance" from Qt4 to QtCurve or any other else.

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_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

and

> apt-cache policy gtk-qt-engine
gtk-qt-engine:
  Installed: 1:1.1+svn20080816-0ubuntu7
  Candidate: 1:1.1+svn20080816-0ubuntu7
  Version table:
 *** 1:1.1+svn20080816-0ubuntu7 0
        500 http://us.archive.ubuntu.com jaunty/universe Packages
        100 /var/lib/dpkg/status

Regards

Pablo

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

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.

Changed in gtk-qt-engine (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.