Missing KCompletionMatches copy operator

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Mon Dec 3 16:53:36 GMT 2007


Kevin Krammer schrieb:
> On Sunday 02 December 2007, Andreas Pakulat wrote:
>> On 02.12.07 22:26:14, Christian Ehrlicher wrote:
>>> Hi,
>>>
>>> due to a missing copy operator I get a crash (on windows) when konqueror
>>> tries to display historyPopupCompletionItems.
>>> It happens because msvc (don't know if/how this works with gcc) creates
>>> a default copy ctor which does not copy the d-ptr correctly -> double
>>> free d-ptr -> crash.
>>>
>>> Afaics therer are also other classes which have d-ptr but no copy ctor
>>> (at least KCompletionBase and KCompletion).
>> KCompletion can't be copied (its a QObject subclass) and as far as I can
>> see KCompletionBase is not used as value type thus no need for a copy
>> constructor or assignment operator.
> 
> I'd say whenever a class has a pointer member, it should either have 
> Q_DISABLE_COPY or copy constructor and assignment operator.
> 
I found some more where the copy ctor/Q_DISABLE_COPY seems missing:

kdeui/util/kwordwrap.h
kdeui/util/kxerrorhandler.h
kdecore/compression/kfilterbase.h
kdecore/date/*.h
kdecore/localization/kcharsets.h ?
kwallet/backend/kwalletbackend.h

But I don't know how a krazy check can find this problems.

Christian


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071203/69741ac0/attachment.sig>


More information about the kde-core-devel mailing list