Message: previous - next
Month: January 2012

Re: [trinity-devel] Qt3/TQt3 binary compatibility breakage

From: "Timothy Pearson" <kb9vqf@...>
Date: Fri, 27 Jan 2012 13:35:41 -0600
> 2012/1/26 Timothy Pearson <kb9vqf@...>:
>> All,
>> This message is a heads-up to alert developers/packagers that the
>> Qt3/TQt3
>> ABI is not backwards compatible with 3.3.x as of GIT hash 0eb9f5e.
>> This decision was not made lightly.  The QWidget class did not contain
>> enough data members to add modern NetWM/Motif configuration flags due to
>> poor design, and as you may be aware adding data members is one of the
>> only ways to break ABI compatibility.  I have also added new unused
>> reserved data members to ensure that this problem does not happen again
>> in
>> the near future.
>> With this ABI bump comes a new version number, 3.4.0.  If you need to
>> maintain backwards compatibility for any reason, I strongly suggest
>> locally reverting the 0eb9f5e patch in a copy of the latest qt3 sources
>> from GIT.
>> The ABI is not set in stone and may undergo further changes before
>> R14.0.0
>> is released, however I will send a similar message to the lists if this
>> occurs.
>> Packagers, you will need to initiate a full rebuild of qt3 or tqt3, then
>> rebuild all TDE packages from scratch once the new qt3/tqt3 version is
>> installed.
>> Timothy Pearson
>> Trinity Desktop Project
> One question: what is tqt3, and in which way it differs from qt3?

tqt3 is automatically generated from the "stock" qt3 sources in GIT.  It
uses TQ* objects natively, therefore it does not stomp on the Q* objects
and q* headers in Qt4.  This (theoretically) allows TQt3 and Qt4 to
coexist in the same program.