PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 878 - Shiboken may generate incompatible modules if a new class is added.
: Shiboken may generate incompatible modules if a new class is added.
Status: CLOSED FIXED
Product: PySide
Classification: Unclassified
Component: Shiboken
: 1.0.3
: All All
: P2 major
Assigned To: Hugo Parente Lima
:
:
:
  Show dependency treegraph
 
Reported: 2011-06-08 20:58 EEST by Hugo Parente Lima
Modified: 2011-07-22 22:12 EEST (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hugo Parente Lima 2011-06-08 20:58:50 EEST
If a class is added e.g. on QtCore, shiboken will generate a
pyside_qtcore_python.h file with different ID's[1] for each class, so other
modules depending on QtCore must be re compiled or they will just crash.

[1] Shiboken attributes an ID for each type exported by a module, this ID is
used by external modules to access the PyTypeObject* of the current module,
e.g. For QtGui to access QtCore types.

A solution would be tie the ID ordering according to the declaration order
found in the type system file, so if you want to add another class to a module
and avoid incompatibilities you will need to add it to the bottom and the other
ID's will never change.
Comment 1 Hugo Parente Lima 2011-07-12 20:24:42 EEST
Fixed in commits:

apiextractor/a0e75ebd485adee4259a2b8990339d55ad54a073
apiextractor/c16ba5ab4d44edfc8e8f9e57bd0636a26bdac07e
apiextractor/2af121652ab43fdfd9c69635d0292c82a16b9218
shiboken/2e6ca9cc4243affe7c01242dacf2719c13bd70b6
Comment 2 renato filho 2011-07-22 22:12:58 EEST
release 1.0.5