[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