[Kde-pim] Review Request: Fix for bug 190232

Ingo Klöcker kloecker at kde.org
Tue Jun 16 21:56:58 BST 2009


On Tuesday 16 June 2009, Thomas McGuire wrote:
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/848/#review1325
> -----------------------------------------------------------
>
> Ship it!
>
>
> Thanks for catching this, if seen quite some bug reports about it!
> I committed it in r982805, but a bit different:
>
> if ( mUserWhoField == whoField && !whoField.isEmpty() )
>   return;
>
> Side note: I think using a QString for the "who field" here instead
> of an enum is horrible style, but this can't be changed because of
> config compatibility, except if one writes an upgrade script.

Enums should always be stored in string representation in config because 
this prevents stupid (and potentially severe) errors due to changes 
made to the enums. In KMail's past such a stupid error lead to message 
loss due to a changed enum value in the POP filter code: Messages were 
deleted from the POP server instead of being deferred because the 
meaning of the int value stored in the config file had changed.

Ideally, the string representation of the enums should only be used when 
reading/writing the configuration. All other code/API should use the 
integer representation of the enums.

So you do not have to write an upgrade script. All you have to do is to 
convert the string representation of the "who field" to an integer 
representation when reading/writing the configuration. The good thing 
is that with the help of QMetaEnum the code doing the conversion can be 
written in a couple of lines (including proper handling of unknown enum 
values).


Regards,
Ingo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20090616/fa733ba3/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list