On Saturday 22 October 2011 19:08:03 Romain Perier wrote: > Git commit 4de6ba9166a317fa772b2f20f22fc5c73dee7109 by Romain Perier. > Committed on 22/10/2011 at 12:47. > Pushed by perier into branch 'frameworks-kcore'. > > KLockFile: Remove dependency on KSharedPtr. KShared has been replaced by > QSharedData and KSharedPtr by QExplicitlySharedDataPointer. Also use > KCOREADDONS_EXPORT. > -class KDECORE_EXPORT KLockFile : public KShared > +class KCOREADDONS_EXPORT KLockFile : public QSharedData > { > public: > - typedef KSharedPtr<KLockFile> Ptr; > + typedef QExplicitlySharedDataPointer<KLockFile> Ptr;
That's double refcounting, one in QSharedData and one in QExplicitelySharedDataPointer. But anyway, I wonder why we need sharing on that object at all. AFAICS it can just be created on the stack where needed, or as a member var. (e.g. http://lxr.kde.org/source/extragear/kdevelop/kdevplatform/shell/sessioncontroller.cpp#821 could just be on stack and http://lxr.kde.org/source/kde/kdelibs/kdecore/config/kconfigini_p.h#35 should just be a KLockFile member variable, same in kautosavefile) => Remove the Ptr typedef altogether, and the QSharedData inheritance. (this doesn't block merging into frameworks though, we can do it afterwards, let's just not forget ;) -- David Faure, fa...@kde.org, http://www.davidfaure.fr Sponsored by Nokia to work on KDE, incl. Konqueror (http://www.konqueror.org). _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel