[PyKDE] ANN: SIP/PyQt v3.2rc1

Phil Thompson phil at river-bank.demon.co.uk
Tue Apr 16 20:51:43 BST 2002


ian reinhart geiser wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Tuesday 16 April 2002 11:08 am, Phil Thompson wrote:
> > v3.2rc1 of SIP and PyQt are available at
> > http://www.riverbankcomputing.co.uk/download/snapshots/.
> >
> > This is mainly a bug fix release...
> >
> > - indexing a QStringList should work again
> > - Windows build issues (hopefully) resolved
> > - added the missing QToolTip.enabled() and QToolTip.setEnabled()
> > - QThread and friends should now work properly
> >
> > Because of the thread changes, this version of SIP may introduce some
> > incompatibilities for people using handwritten code when wrapping their
> > own classes.
> >
> > I'm particularly interested to know if applications that use the Python
> > thread API still work Ok.
> 
> How much will this break when I upgrade if I am not using threads in my
> wrapped code?   Are there issues with using Python21 instead of 2.2?

Thinking about it, existing applications should be fine if you don't
make the necessary changes. You also won't have a problem if you are
using SIP but not PyQt.

The change that's required is to surround all calls to C++ functions in
the library being wrapped with
Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS. There is a similar
requirement for %VirtualCode using
SIP_BLOCK_THREADS/SIP_UNBLOCK_THREADS. As usual, the best way to
understand this is to study the PyQt code.

The main person this is going to affect is Jim with PyKDE.

> I know the conversion from 3.0 -> 3.1 messed me up pretty bad with my build
> scripts.  Do I need to regenerate my bindings?  Will the regenerated bindings
> break in new and interesting ways?  Is there a way to backport the DLL and
> the QStringList changes to 3.1 to keep the bugs to a minimum?

You will need to regenerate your bindings.

Phil





More information about the PyQt mailing list