On Thursday, February 10, 2011 16:35:20 Stephen Kelly wrote: > Thiago Macieira wrote: > > On Thursday, 10 de February de 2011 21:08:05 Stephen Kelly wrote: > >> Thiago Macieira wrote: > >> > It should have been in a qglobalstatic_p.h. We might even do that -- > >> > and intentionally break applications that are abusing the API. > >> > >> A quick grep says that would break akonadi, grantlee, qca, phonon, qxt > >> and a couple of places in KDE that use it already (presumably they don't > >> need the features of K_GLOBAL_STATIC that you mentioned). If you > >> (re)move it, we'd all just end up copying the macro into our own > >> codebases, so that wouldn't achieve much. > > > > Phonon should have a copy of K_GLOBAL_STATIC. > > I noticed K_GLOBAL_STATIC uses QBasicAtomicPointer, which doesn't seem to > be public API. Is that going away too? That would break K_GLOBAL_STATIC.
Although you raise a good point, their docs are quite clear that the API is not public, so pointing out *other* uses of non-public APIs doesn't really help the argument, as Nokia is still within their rights to move non-public API to non-installed headers. I say this as someone who uses QAtomicInt assuming a mode of operation that is not explicitly documented (i.e. it is safe to initialize its memory with 0 and avoid running the ctor). If Nokia changes it I would grumble, but it would by my problem, not theirs. It also wouldn't really break K_GLOBAL_STATIC, as the code could simply be "freed" from Qt in the event that were to happen, or be reimplemented in a different fashion (such as gcc intrinsics, I would imagine). Regards, - Michael Pyne
signature.asc
Description: This is a digitally signed message part.