----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/114715/#review48232 -----------------------------------------------------------
Ship it! Urgh - a static object in a library? How did we not notice before... Needs to be fixed indeed. I would have used Q_GLOBAL_STATIC (which has methods like isDestroyed()), but I guess that's equivalent to your sharedpointer + strong ref idea, so why not. - David Faure On Jan. 3, 2014, 5:52 p.m., Kevin Funk wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/114715/ > ----------------------------------------------------------- > > (Updated Jan. 3, 2014, 5:52 p.m.) > > > Review request for kdelibs and Frank Reininghaus. > > > Bugs: 327599 > http://bugs.kde.org/show_bug.cgi?id=327599 > > > Repository: kdelibs > > > Description > ------- > > Attempt to fix KZoneAllocator issue > > kcompletion.p_h: Make the static KZoneAllocator member of KCompTreeNode > a shared pointer so external users can hold a reference to it. > > kcompletion.cpp: Hold a reference to KCompTreeNode's KZoneAllocator > instance so we avoid deleting the KZoneAllocator too early. See attached > bug report for possible causes. (Hint: It crashes on Windows because > ~KZoneAllocator is called to early.) > > kallocator.cpp: Use printf instead of qDebug(), because this code path > code might be called very late during destruction and qDebug() will > crash deep inside Qt. > > Also see discussion: > http://lists.kde.org/?l=kde-devel&m=138583383708455&w=1 > > BUG: 327599 > CCBUG: 243375 > > > Diffs > ----- > > kdecore/util/kallocator.cpp 8b21120c62c513ea41686fe8185ec2808fe5d83a > kdeui/util/kcompletion.cpp 340aa92b900d670e2ad73f70a63d5221d0feed1d > kdeui/util/kcompletion_p.h 1cf31db3f16fe3421415cd54265eee20bb998710 > > Diff: https://git.reviewboard.kde.org/r/114715/diff/ > > > Testing > ------- > > > Thanks, > > Kevin Funk > >