Crash when using KIdentityManagement::IdentityManager

David Faure faure at kde.org
Thu Apr 15 20:16:03 BST 2021


On jeudi 15 avril 2021 18:19:36 CEST Volker Krause wrote:
> even that symbol is then local/not exported.

OK, thanks. And this happens even if the method implementation is 100 lines 
long then I assume? Which means inlining methods really forces the compiler to 
inline them at call site -- at least if it comes from a different library.

> > In any case, pimpl'ing kills this idea, so I suggest we make the rule
> > simple: no QVector/QList iterators in public API.
> 
> pimpl'ing could be overcome here by a private method returning a reference
> to the vector, and using that in the inline code. 

OK, that would work...

> Such a method might be
> the better and simpler API in the first place anyway.

Well, yeah. Doesn't that bring you back to my simple rule? ;)

I guess it's all about
   for (const Identity &identity: manager)
vs
   for (const Identity &identity: manager.identities())
...

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5





More information about the kde-pim mailing list