[PyKDE] Re: PyKDE

Jim Bublitz jbublitz at nwinternet.com
Fri Aug 8 17:15:01 BST 2003


On Friday August 8 2003 00:54, Andreas Pour wrote:
> Jim Bublitz wrote:
> > On Thursday August 7 2003 22:53, Andreas Pour wrote:
> > I assume you already know about the need to 'export
> > KDE_MALLOC=0", as you'd probably be getting segfaults
> > otherwise.
>
> Well, crap, I did it with qt.py but not the others.  I have to
> do it for each .py module and then recompile it to the .pyc? 
> I would think the KDE modules load the Qt modules and get the
> environment variable set that way?

For SuSE, you just either need to export it when you open a new 
konsole or else just stick it in the user's .bashrc (.profile 
doesn't seem to affect KDE konsoles) You bascially only need to 
do it once for a konsole session if doing it manually. It 
affects both PyQt and PyKDE.

> It looks like that; since kaccelbase.h is not disstributed
> with KDE (not a public API) it's hard to tell when and how it
> changed.  Suffice it to say KDE 3.0.3 does not have the
> virtual function either; not sure when it was introduced.  See
> http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/kdecore/kacce
>lbase.h (looks like it was taken out for 3.1.3 but not sure
> when it was introduced - the revision is at
> http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/kdecore/kacce
>lbase.h.diff?r1=1.19&r2=1.20&f=h but maybe there was more
> back-and-forth and I don't know what KDE version that
> corresponds to either ;-) ).

kaccelbase.h is in the extra/ subdirectory and is taken from the 
kdelibs source tarball for the appropriate version. There are 
half a dozen or so .h files that are necessary but not usually 
in kde3/include (and a few h files that need some mods to work 
with sip or my code generator). Those h files are all included 
with PyKDE under extra/ and build.py points the make files to 
the correct versions (eg extra/kde303/kaccelbase.h). 

virtual_hook (if I remember correctly) was just kind of 
arbitrarily added all over the  place one day by someone back in 
the KDE 2 or early KDE 3 days. There's some discussion on one of 
the KDE lists, and some of it is fairly unfavorable. It was 
apparently added for some debugging reason that didn't seem real 
necessary to me, and it pops up from time to time and causes me 
headaches.

> > Running grep on the sip directory, however, I find the
> > following files have virtual_hook methods that aren't
> > commented out:

> > kaction.sip (*2* instances), kar.sip, knuminput.sip,
> > ktextedit.sip and kzip.sip. In each case, all you need to do
> > is comment out the offending method:

> >     virtual void         virtual_hook (int, void*);

> > should be:

> >    //    virtual void         virtual_hook (int, void*);

> None of the others is a problem and with 3.1.1 it is not a
> problem as it is :-).

It doesn't cause any problems here on any version, but it should 
break everything - kind of scary that it doesn't. It shouldn't 
be possible to load a lib (PyKDE module) with unresolved 
symbols.

Jim




More information about the PyQt mailing list