[Development] Possible binary compatibility problem in a future Qt version

Jedrzej Nowacki jedrzej.nowacki at nokia.com
Wed Aug 29 16:55:31 CEST 2012


On Wednesday 29. August 2012 14.46.17 ext Olivier Goffart wrote:
> Reviving old thread because it was discussed on IRC:
> 
> On Friday 08 June 2012 10:31:31 Jedrzej Nowacki wrote:
> > Hi,
> > 
> >   What can go wrong then? From nothing to crash, it depends on the flag.
> >   For
> > 
> > example if the flag is just an optimization hint, like
> > "typeHasThreadSafeConstructor" then it is quite safe because we could
> > "downgrade" the registered data to a safe value, it would work, maybe a
> > bit slower :-). On other hand isPointerToGObject doesn't have such safe
> > value, because it points to a feature that is rather a type description.
> 
> What's wrong by saying that when there are "binary incompatible"
> registration, we keep the maximum of flag set?  So the second registration
> which say the type is a PointerToGObject override the previous one.
> 
> The code that expect PointerToGObject to be set for a given type will
> continue to work because that library should register that type.
> 

Hi,

PointerToGObject is a boolean how would you say which value is supperior?

if (flags & PointerToGObject)
  storeDataInPointerContainer(object)
else
  storeDataInNormalContainer(object)

It means that the flag can change during execution of an application. I would 
say no for such solution ;-).

Jędrek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120829/1393436f/attachment.html>


More information about the Development mailing list