Hello, On Friday 04 August 2006 13:50, Bill Haneman wrote: > On Fri, 2006-08-04 at 10:46, Olaf Jan Schmidt wrote: > > [...] > [...about problems of using ATK with Qt/KDE programs...] > > If by "problems with the way glib is written" you are referring to > glib mainloop issues, surely that problem can be addressed "at source". > Or perhaps they can be worked around; Michael meeks managed to solve > these problems for OpenOffice.org when they encountered them. I am > sure that he would have useful suggestions. In fact the "problems with the way glib is written" are glib mainloop issues. From what Harald Fernengel (the developer at Trolltech who writes the AT-SPI bridge for Qt/KDE), there are two ways to integrate Qt 4.x with the glib mainloop: 1. Usually use the Qt event loop and only call the glib mainloop if you know that something in ATK needs to be processed. There are two reasons why something in ATK needs to be processed: The first one is that you just have some changes in the GUI which in turn create AT-SPI events which will be generated. The second one is that data arrives on a socket which is used for the CORBA communication. This is the harder part as you do not know which of the sockets that are opened by your application are the ones that are used by ORBit2. 2. Let Qt 4.x run in the glib mainloop. This way you only have one main loop, so that you do not need to know when to call the glib mainloop. Instead there are other problems. If what I heard is correct, then there is no way in glib to disable a timer, and it is an expensive operation to create or destroy a given timer. The problem with that is that Qt makes heavy use of QTimers (which _can_ be disabled, so that they do no longer fire events), so there you have performance problems. It may be that I misunderstood some of the points when Harald told me about them, but I trust him that he knows what he is talking about. Gunnar Schmi Dt -- Member of KDE's Technical Working Group Co-maintainer of the KDE Accessibility Project Maintainer of the kdeaccessibility package http://accessibility.kde.org/
Attachment:
pgpGL2CComPev.pgp
Description: PGP signature